python中的可变参数 【*args】和【**kwargs】
2018-03-05 18:05
686 查看
一、*args
def argsFunc(a, *args): print a print args >>> argsFunc(1, 2, 3, 4) 1 (2, 3, 4)
argsFunc中匹配完定义好的参数,剩余的参数以元组tuple的形式存储在
args(args 名称你可以自行定义),因此在上述程序中只要你传入不小于 1 个参数,该函数都会接受,当然你也可以直接定义只接受可变参数,你就可以自由传递你的参数:
def argsFunc(*my_args): print my_args >>> argsFunc(1, 2, 3, 4) (1, 2, 3, 4) >>> argsFunc() ()
二、**kwargs
>>> def a(**x):print x >>> a(x=1,y=2,z=3) {'y': 2, 'x': 1, 'z': 3} #存放在字典中
显然,**kwargs存放在字典dictionary中不过,有个需要注意,采用
**kwargs 传递参数的时候,你不能传递数组参数
>>> a(1,2,3) #这种调用则报错 Traceback (most recent call last): File "<stdin>", line 1, in <module> TypeError: a() takes exactly 0 arguments (3 given)
相关文章推荐
- python中的可变参数*args, **kwargs
- Python函数可变参数*args及**kwargs详解
- Python中函数可变参数类型(*args、**kwargs)
- Python函数可变参数* args及**kwargs 应用
- Python 基础 —— 可变参数 *args 与 关键字参数 **kwargs
- Python中的可变参数*args和**kwargs
- Python 函数可变参数列表*args和**kwargs
- [Python学习笔记-004] 可变参数*args和**kwargs
- 理解 Python 中的可变参数 *args 和 **kwargs:
- 关于python中*args,**kwargs的可变参数
- Python可变参数*args和**kwargs用法实例小结
- python 中参数*args, **kwargs
- python 中参数*args, **kwargs
- python中的魔法参数:*args和**kwargs
- Python函数可变参数args及kwargs释义
- Python定义的函数(或调用)中参数*args 和**kwargs的用法
- python函数参数中*args,**kwargs的使用和意义
- Python 中的 *args 和 **kwargs 参数
- Python中如何使用*args 和 **kwargs (非keyworded,可变长度参数列表 keyworded形式可变长度的参数列表)
- Python 进阶 —— 可变参数(*args, **kw)与参数收集的逆过程