函数的可变参数 *args和**kwargs
2017-10-09 00:26
344 查看
kwargs中的kw就是keyword,即关键字参数。所谓关键字,就是k=v的字典形式。星号类似通配,表示任意多个。
直接上代码,一看便知:
当*args和**kwargs同时使用时,*args必须在**kwargs前面,**kwargs在最后面。
在*args和**kwargs之间还可以有参数。
另外,在变量赋值时,也可以使用星号解包。
直接上代码,一看便知:
>>> def test(a,b,*args): ... print('a={},b={},args={}'.format(a,b,args)) ... >>> test(1,2) a=1,b=2,args=() >>> test(1,2,3) a=1,b=2,args=(3,) >>> test(1,2,3,4,5,6) a=1,b=2,args=(3, 4, 5, 6)
>>> def test(a,b,**kwargs): ... print('a={},b={},kwargs={}'.format(a,b,kwargs)) ... >>> test(1,2) a=1,b=2,kwargs={} >>> test(1,2,c=1,d=2,e=3) a=1,b=2,kwargs={'c': 1, 'd': 2, 'e': 3}
当*args和**kwargs同时使用时,*args必须在**kwargs前面,**kwargs在最后面。
>>> def test(a,b,*args,**kwargs): ... print('a={},b={},args={},kwargs={}'.format(a,b,args,kwargs)) ... >>> test(1,2) a=1,b=2,args=(),kwargs={} >>> test(1,2,3,4) a=1,b=2,args=(3, 4),kwargs={} >>> test(1,2,c=1,d=2) a=1,b=2,args=(),kwargs={'c': 1, 'd': 2} >>> test(1,2,3,4,c=1,d=2) a=1,b=2,args=(3, 4),kwargs={'c': 1, 'd': 2}
在*args和**kwargs之间还可以有参数。
>>> def test(a,b,*args,c,d=1,**kwargs): ... print('a={},b={},args={},c={},d={},kwargs={}'.format(a,b,args,c,d,kwargs)) ... >>> test(1,2,3,4,c=5,d=2,e=1,f=2) a=1,b=2,args=(3, 4),c=5,d=2,kwargs={'e': 1, 'f': 2} >>> test(1,2,3,4,c=5,e=1,f=2) a=1,b=2,args=(3, 4),c=5,d=1,kwargs={'e': 1, 'f': 2}
另外,在变量赋值时,也可以使用星号解包。
>>> def test(): ... return tuple(range(10)) ... >>> a,*b,c,d=test() >>> a,b,c,d (0, [1, 2, 3, 4, 5, 6, 7], 8, 9) >>> *a,b,c,d=test() >>> a,b,c,d ([0, 1, 2, 3, 4, 5, 6], 7, 8, 9) >>> a [0, 1, 2, 3, 4, 5, 6] >>> b 7
相关文章推荐
- 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匿名函数(lambda)、函数参数(*args、**kwargs)、柯里化及生成器
- 可变长参数列表*args,**kwargs
- 5.1 Python 函数-默认参数,*args,**kwargs的使用;作用域-局部空间使用全局变量需要注意的事项等
- Python函数可变参数args及kwargs释义
- Linux下函数可变参数va_arg_##__VA_ARGS__宏
- python中的可变参数*args, **kwargs
- Python函数中*args和**kwargs来传递变长参数的用法
- Python 函数当中的不定参数 *args 和**kwargs 姐妹花
- python函数参数中*args,**kwargs的使用和意义
- python中的含有 *args 和**kwargs的用法 作为参数的函数,参数输入问题
- Python定义函数中的可变参数**kw及*args