1.函数返回多个值
python允许函数有多个返回值,本质时利用了元组,示例如下:
1 def addition(a,b):
2 return a+1,b+1
3 result = addition(2,3)
4 print(result)
2.缺省参数
调用函数时,缺省参数的值如果没有传入,则被认为时默认值,我们给参数赋值默认值的方式如下示例所示:
1 def addition(a,b=3):
2 return a+1,b+1
3 result = addition(2)
4 print(result)
注意:缺省参数一定要位于参数列表的最后面。
3.不定长参数
有时需要函数处理比当初声明时更多的参数,这些参数叫做不定长参数,声明时不会命名。实现不定长参数的方式有两种,
1.使用*参数名的方式,本质是一个元组。
2.使用**参数名的方式,本质是一个字典。
使用*变量名方式的示例如下:
1 def addition(a,b,*arg):
2 print(a)
3 print(b)
4 print(arg)
5 addition(1,2,3,4,5,6)
使用**变量名方式的示例如下:
1 def addition(a,b,**kwargs):
2 print(a)
3 print(b)
4 print(kwargs)
5 addition(1,2,name='jonins',age='18')
一个复杂例子说明:
1 def addition(a,b,c=3,*args,**kwargs):
2 print(a)
3 print(b)
4 print(c)
5 print(args)
6 print(kwargs)
7 print('--------2个必填参数---------')
8 addition(1,2)
9 print('-------2个必填1个缺省其它为不定长*args----------')
10 addition(1,2,3,4)
11 print('-------2个必填1个缺省其它为不定长**kwargs----------')
12 addition(1,2,name = 'jonins',age = '18')
13 print('-------2个必填1个缺省有不定长*args和**kwargs----------')
14 addition(1,2,3,4,5,6,name = 'jonins',age = '18')
变量先赋值普通参数,省却参数,最后为不定长变量。参数的声明顺序也要遵循如下顺序声明。
传递多余的参数,如果前面不带变量名,统统传值给*变量名以元组形式保存。
传递多余的参数,如果前面带有变量名,统统传值给**变量名以字典形式保存。