1, 函数参数的传递
为了让定义的函数更加通用,即计算任意两个数字的和,可以在定义函数的时候添加两个参数,为了让参数来接收传递给函数的值。
通过下列案列演示函数是如何传递参数的,代码如下:
# 定义接收2个参数的函数
def add(a, b):
c = a + b
print(c)
# 调用带有参数的函数时,需要再小括号中传递数据
add(55, 66)
上述定义了能接收两个参数的函数。其中a为第一个参数,用于接收函数传递的第一个数值;b为第二个参数,接收的是函数传递的第二个数值。通过调用 add函数,给函数的参数传递两个数值。
补充:如果函数定义了多个参数,在调用函数时,传递的数据要和定义的参数一一对应。
2,默认参数
定义函数时,可以给函数的参数设置默认值,这个参数就被称为默认参数。
通过一个案列演示默认参数的使用,代码如下:
def print_info(name, age=35):
print("Name", name) # 打印任何传入的字符串
print("Age", age)
# 调用 print_info 函数
print_info(name="miki")
print_info(name="miki", age=9)
上述中,第1~3行代码定义了带有两个参数的 print_info 函数。其中,name 参数没有设置默认值,age 作为默认参数已经设置了默认值。在第6行调用print-info函数时,由于只传入了name值,所以程序会使用age参数的默认值;在第7行调用print-info函数时,同时传入了name和age 两个参数的值,所以程序会使用传给age 参数的值。
运行结果如下:
补充:带有默认值的参数一定要位于参数列表的最后面,否则程序会报错。
3, 不定长参数
通常在定义一个函数时,若希望函数能够处理的参数个数比当初定义的参数个数多,可以在函数中使用不定长参数。
基本语法格式如下:
def 函数名([format_args,] *args, **kwargs):
“函数_文档字符串”
函数体
return 表达式
上述中,函数共有3个参数。其中,formal_args为形参(也就是前面所用的参数a,b), *args 和
**kwags为不定长参数。
重点:
- 加了星号(*)的变量args会存放所有未命名的变量参数,args 为元组。
- 加(**)的变量kwargs 会存放命名参数,即形如 key = value的参数,kwargs为字典。
通过一个小案例演示,代码如下:
def test(a, b, *args, **kwargs):
print(a)
print(b)
print(args) # 多余的参数组成元组,和不定长参数args进行匹配
print(kwargs) # 参数以键值对形式传入,使用**kwargs参数来接收
test(11, 22, 33, 44, 55, 66, 77, m=88, n=99)
4,函数的返回值
在Python中,函数的返回值使用return语句来完成。
def add(a, b):
c = a + b
return c
print(add(1, 2))
上述代码,函数add中 包含return语句,意味着这个函数有一个返回值,其返回值就是a和b相加的结果。
END
感谢看到这里的各位读者朋友们,如果你感到本文写的不错,就顺手点个赞收藏一下,也可以关注一波~~