Python传递参数的多种方式(小结)

时间:2021-05-22

一 位置传递

没什么好过多讲解.

# 位置传递实例:def fun1(a,b,c): return a+b+cprint(fun1(1,2,3))

输出:

6

二 关键字传递

更具每个参数的名字写入函数参数

# 关键字传递 def fun2(a,b,c): return a+b+c print(fun2(1,c=3,b=2))

输出:

6

三 参数默认值传递

给函数的输入参数设定一个默认值,如果该参数最终没有输入,则使用默认参数出入函数.

# 默认值传递 def fun3(a,b=2,c=3): return a+b+cprint(fun3(a = 1))

输出:

6

四 包裹传递

在定义函数时,我们有时候并不知道调用的时候会传递多少个参数。这时候,包裹(packing)位置参数或者包裹关键字参数来进行参数传递会非常有用。

下面是包裹位置传递的例子:

def fun4(*name): print(type(name))print(name)fun4([1,2,3])fun4((1,2,3))fun4(1,2,3)

结果:

<class 'tuple'>
([1, 2, 3],)
<class 'tuple'>
((1, 2, 3),)
<class 'tuple'>
(1, 2, 3)

从上面的结果分析:

在fun4的参数表中,所有的参数被name收集,根据位置合并成一个元祖(tuple),这就是包裹位置传递。

五 解包裹传递

def func1(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)

运行结果:

1 2 ([3, 4], {'@': 2, '#': 3}) {}
---------**------------
1 2 (3, 4) {'@': 2, '#': 3}
1 2 (3, 4) {'@': 2, '#': 3}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。

声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章