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')

\"\"

变量先赋值普通参数,省却参数,最后为不定长变量。参数的声明顺序也要遵循如下顺序声明。

传递多余的参数,如果前面不带变量名,统统传值给*变量名以元组形式保存

传递多余的参数,如果前面带有变量名,统统传值给**变量名以字典形式保存

收藏 打印