当前位置:   article > 正文

Python传递参数的5种方式_python参数传递有哪几种

python参数传递有哪几种

一、位置传参

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

输出:

6

二、关键字传参
根据每个参数的名字写入函数参数

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

输出:

6

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

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

6

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

  1. def fun4(*name):
  2. print(type(name))
  3. print(name)
  4. fun4([1,2,3])
  5. fun4((1,2,3))
  6. fun4(1,2,3)

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

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

五、解包裹传递

  1. def func1(a,b=1,*c,**d):
  2. print(a,b,c,d)
  3. l = [3,4]
  4. dic = {'@':2,'#':3}
  5. func1(1,2,l,dic)
  6. print("---------**------------")
  7. func1(1,2,*l,**dic)
  8. func1(1,2,3,4,**dic)

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

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Monodyee/article/detail/713294
推荐阅读
相关标签
  

闽ICP备14008679号