python 可变参数 *arg **kwargs
2017-12-10 21:12
344 查看
先来看个例子:
输出结果如下:
可以看到,这两个是python中的可变参数。
也可以创建字典:
其实python中就带有dict类,使用dict(a=1,b=2,c=3)即可创建一个字典了。
def foo(*args, **kwargs): print 'args = ', args print 'kwargs = ', kwargs print '---------------------------------------' if __name__ == '__main__': foo(1,2,3,4) foo(a=1,b=2,c=3) foo(1,2,3,4, a=1,b=2,c=3) foo('a', 1, None, a=1, b='2', c=3)
输出结果如下:
args = (1, 2, 3, 4) kwargs = {} --------------------------------------- args = () kwargs = {'a': 1, 'c': 3, 'b': 2} --------------------------------------- args = (1, 2, 3, 4) kwargs = {'a': 1, 'c': 3, 'b': 2} --------------------------------------- args = ('a', 1, None) kwargs = {'a': 1, 'c': 3, 'b': '2'} ---------------------------------------
可以看到,这两个是python中的可变参数。
*args表示任何多个无名参数,它是一个tuple;
**kwargs表示关键字参数,它是一个dict。并且同时使用
*args和
**kwargs时,必须
*args参数列要在
**kwargs前,像
foo(a=1, b='2', c=3, a', 1, None,)这样调用的话,会提示语法错误
“SyntaxError: non-keyword arg after keyword arg”。
也可以创建字典:
def kw_dict(**kwargs): return kwargs print kw_dict(a=1,b=2,c=3) == {'a':1, 'b':2, 'c':3}
其实python中就带有dict类,使用dict(a=1,b=2,c=3)即可创建一个字典了。
相关文章推荐
- Python函数可变参数* args及**kwargs 应用
- Python中的可变参数*args和**kwargs
- Python 函数可变参数列表*args和**kwargs
- Python中如何使用*args 和 **kwargs (非keyworded,可变长度参数列表 keyworded形式可变长度的参数列表)
- 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)
- va_start,va_arg,va_end 可变参数的总结
- 可变参数va_arg()
- 关于Python中的参数定义及可变参数
- python函数的应用之可变参数函数
- python的可变参数和关键字参数(*args **kw)
- python(二):可变参数
- python学习:位置参数、默认参数、可变参数 RF实例