Python入门学习篇(十)——函数定义&函数传参方式

1 相关定义和概念

1.1 函数的理解

一段被封装的可以重复调用的代码。

1.2 函数定义语法结构

def 函数名(形参1,形参2):
	要封装的逻辑代码
# 注意:函数可以有返回值也可以没有返回值,没有返回值的结果是None

1.3 函数调用的语法结构

函数名(形参1,形参2)

1.4 简单实例

1.4.1 题目内容

定义一个求a+b之和的函数,且调用时传的参数为8、6

1.4.2 示例代码

def sum1(m, n):
    return m + n


a = int(input("请输入a的值: "))
b = int(input("请输入b的值: "))
print(f"{
     a}+{
     b}的和为: {
     sum1(a, b)}")

1.4.3 运行截图

在这里插入图片描述

2 函数传参的几种方式

2.1 不按照顺序传参

2.1.1 使用心得

函数名(实参2=2,实参1=1,实参3=3)

2.1.2 示例代码

def print_1(a, b, c):
    print("a: ", a)
    print("b: ", b)
    print("c: ", c)


print_1(b=1, a=2, c=3)

2.1.3 运行结果

在这里插入图片描述

2.2 不定长传参(元组版)

2.2.1 使用心得

def 函数名(*args):
    函数体内容

2.2.2 示例代码

# *名称可以随便定义,但通常是*args
# *args可以理解成一个元组
def print_1(*args):
    print("args: ", args[-1])


print_1(1, 66, "hello")

2.2.3 运行结果

在这里插入图片描述

2.3 不定长传参(字典版)

2.3.1 使用心得

# *名称可以随便定义,但通常是*kwargs
# *kwargs可以理解成一个字典
def print_1(**kwargs):
    print("kwargs: ", kwargs)
    print("kwargs中name的值为: ", kwargs["name"])
    print("kwargs的类型: ", type(kwargs))  # <dict


print_1(name="平凡的世界", author="路遥", honor="第三届茅盾文学奖")

2.3.2 示例代码

# *名称可以随便定义,但通常是*kwargs
# *kwargs可以理解成一个字典
def print_1(**kwargs):
    print("kwargs: ", kwargs)
    print("kwargs中name的值为: ", kwargs["name"])
    print("kwargs的类型: ", type(kwargs))  # <dict


print_1(name="平凡的世界", author="路遥", honor="第三届茅盾文学奖")

2.3.3 运行结果

在这里插入图片描述

2.4 常规传参

2.4.1 使用心得

函数名(1,2,3)
# 值1、值2、值3分别和形参中的第一个形参、第二个形参、第三个形参相对应

2.4.2 示例代码

def sum(a, b):
    return a + b


a = int(input("请输入a的值: "))
b = int(input("请输入b的值: "))
print(f"{
     a}+{
     b}的和为: {
     sum(a, b)}")

2.4.3 运行结果

在这里插入图片描述

2.5 函数名传参

2.5.1 使用心得

函数名2(函数名1)

2.5.2 示例代码

def fun1():
    print("执行fun1函数")


def fun2(x):
    print("执行fun2函数")
    x()


fun2(fun1)

2.5.3 运行结果

在这里插入图片描述

相关推荐

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2023-12-31 13:38:01       91 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2023-12-31 13:38:01       97 阅读
  3. 在Django里面运行非项目文件

    2023-12-31 13:38:01       78 阅读
  4. Python语言-面向对象

    2023-12-31 13:38:01       88 阅读

热门阅读

  1. 解密垃圾邮件分类:基于SVM的数据挖掘项目

    2023-12-31 13:38:01       66 阅读
  2. BFC(解决高度塌陷的问题)

    2023-12-31 13:38:01       48 阅读
  3. 2023年总结:不上班的这半年!

    2023-12-31 13:38:01       54 阅读
  4. ubuntu22.04,matlab问题记录

    2023-12-31 13:38:01       65 阅读
  5. PC端微信公众号文章采集

    2023-12-31 13:38:01       52 阅读