python 可变参数 *arg **kwargs
来源:互联网 发布:单片机电源模块 编辑:程序博客网 时间:2024/06/06 03:43
先来看个例子:
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 kwargsprint kw_dict(a=1,b=2,c=3) == {'a':1, 'b':2, 'c':3}
其实python中就带有dict类,使用dict(a=1,b=2,c=3)即可创建一个字典了。
阅读全文
0 0
- python 可变参数 *arg **kwargs
- python中的*arg **kwargs
- Python中的可变参数*args和**kwargs
- python中的可变参数*args, **kwargs
- Python函数可变参数* args及**kwargs 应用
- python 可变参数函数定义* args和**kwargs的用法
- python可变参数之*args和*kwargs学习回顾
- Python中函数可变参数类型(*args、**kwargs)
- Python如何使用 *arg 和 **kwargs
- Python 基础 —— 可变参数 *args 与 关键字参数 **kwargs
- 可变长参数列表*args,**kwargs
- Python学习笔记(13)--可变参数(*argv和**kwargs)用法
- Python可变参编程*args和**kwargs
- python 中参数*args, **kwargs
- python 中参数*args, **kwargs
- Python中如何使用*args 和 **kwargs (非keyworded,可变长度参数列表 keyworded形式可变长度的参数列表)
- *arg和**kwargs的理解
- python中的魔法参数:*args和**kwargs
- 适用于Win7的MSXML程序包
- CSS样式选择器与常用的复合属性的设置
- html-学习笔记1
- netty源码分析(二十二)Netty编解码器剖析与入站出站处理器详解
- PHP错误处理留档
- python 可变参数 *arg **kwargs
- 服务状态
- Wannafly 挑战赛5 A 题 珂朵莉与宇宙 【思维 + 前缀和】
- 指数滑动平均(ExponentialMovingAverage)EMA
- 指针、引用或取地址
- struts2.5框架使用通配符指定方法(常见错误)
- C语言实现顺序表-数据结构
- java任务--过山洞多线程
- BZOJ4034: [HAOI2015]树上操作(洛谷P3178)