Python传递参数的多种方式(小结)
一位置传递
没什么好过多讲解.
#位置传递实例: deffun1(a,b,c): returna+b+c print(fun1(1,2,3))
输出:
6
二关键字传递
更具每个参数的名字写入函数参数
#关键字传递 deffun2(a,b,c): returna+b+c print(fun2(1,c=3,b=2))
输出:
6
三参数默认值传递
给函数的输入参数设定一个默认值,如果该参数最终没有输入,则使用默认参数出入函数.
#默认值传递 deffun3(a,b=2,c=3): returna+b+c print(fun3(a=1))
输出:
6
四包裹传递
在定义函数时,我们有时候并不知道调用的时候会传递多少个参数。这时候,包裹(packing)位置参数或者包裹关键字参数来进行参数传递会非常有用。
下面是包裹位置传递的例子:
deffun4(*name): print(type(name)) print(name) fun4([1,2,3]) fun4((1,2,3)) fun4(1,2,3)
结果:
([1,2,3],)
((1,2,3),)
(1,2,3)
从上面的结果分析:
在fun4的参数表中,所有的参数被name收集,根据位置合并成一个元祖(tuple),这就是包裹位置传递。
五解包裹传递
deffunc1(a,b=1,*c,**d): print(a,b,c,d) l=[3,4] dic={'@':2,'#':3} func1(1,2,l,dic) print("---------**------------") func1(1,2,*l,**dic) func1(1,2,3,4,**dic)
运行结果:
12([3,4],{'@':2,'#':3}){}
---------**------------
12(3,4){'@':2,'#':3}
12(3,4){'@':2,'#':3}
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。