Python传递参数的多种方式(小结)
2019-09-18 11:49
941 查看
一 位置传递
没什么好过多讲解.
# 位置传递实例: def fun1(a,b,c): return a+b+c print(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+c print(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}
以上就是本文的全部内容,希望对大家的学习有所帮助
您可能感兴趣的文章:
相关文章推荐
- python传递参数方式小结
- python传递参数方式小结
- python 函数传递参数的多种方法
- 基于Eclipse Maven的Spring4/Spring-MVC/Hibernate4整合之八:一个简单例子演示Spring-MVC中多种参数传递方式
- Python里的函数参数传递方式(表现为非值传递也非引用传递)
- python 中参数传递 * 和 ** 的问题,以 tuple和dict方式传递参数
- Python中函数的参数传递方式
- python进阶教程之函数参数的多种传递方法
- python进阶教程之函数参数的多种传递方法
- python进阶教程之函数参数的多种传递方法
- Python函数参数传递方式(call by object reference)以及一致性
- Python3中函数参数传递方式实例详解
- python进阶教程之函数参数的多种传递方法
- 详解Python函数可变参数定义及其参数传递方式
- Python入门:参数传递方式
- Python 中类方法、类实例方法、静态方法有何区别,Python 函数调用的时候参数的传递方式是值传递还是引用传递,*args,**kwargs
- Python函数可变参数定义及其参数传递方式详解
- Python函数可变参数定义及其参数传递方式实例详解
- Python 参数传递方式
- Python--函数参数的传递方式