Python中*args 和**kwargs的用法
2016-04-14 10:19
671 查看
http://blog.csdn.net/chenjinyu_tang/article/details/8136841
好久没有学习python了,应为工作的需要,再次拾起python,唤起记忆。
当函数的参数不确定时,可以使用*args 和**kwargs,*args 没有key值,**kwargs有key值。
还是直接来代码吧,废话少说
[python] view plain copy
print?
def fun_var_args(farg, *args):
print "arg:", farg
for value in args:
print "another arg:", value
fun_var_args(1, "two", 3) # *args可以当作可容纳多个变量组成的list
result:
[python] view plain copy
print?
arg: 1
another arg: two
another arg: 3
**kwargs:
[python] view plain copy
print?
def fun_var_kwargs(farg, **kwargs):
print "arg:", farg
for key in kwargs:
print "another keyword arg: %s: %s" % (key, kwargs[key])
fun_var_kwargs(farg=1, myarg2="two", myarg3=3) # myarg2和myarg3被视为key, 感觉**kwargs可以当作容纳多个key和value的dictionary
result:
[python] view plain copy
print?
arg: 1
another keyword arg: myarg2: two
another keyword arg: myarg3: 3
也可以用下面的形式:
[python] view plain copy
print?
def fun_var_args_call(arg1, arg2, arg3):
print "arg1:", arg1
print "arg2:", arg2
print "arg3:", arg3
args = ["two", 3] #list
fun_var_args_call(1, *args)
result:
[python] view plain copy
print?
arg1: 1
arg2: two
arg3: 3
[python] view plain copy
print?
def fun_var_args_call(arg1, arg2, arg3):
print "arg1:", arg1
print "arg2:", arg2
print "arg3:", arg3
kwargs = {"arg3": 3, "arg2": "two"} # dictionary
fun_var_args_call(1, **kwargs)
result:
[python] view plain copy
print?
arg1: 1
arg2:"two"
arg3:3
好久没有学习python了,应为工作的需要,再次拾起python,唤起记忆。
当函数的参数不确定时,可以使用*args 和**kwargs,*args 没有key值,**kwargs有key值。
还是直接来代码吧,废话少说
[python] view plain copy
print?
def fun_var_args(farg, *args):
print "arg:", farg
for value in args:
print "another arg:", value
fun_var_args(1, "two", 3) # *args可以当作可容纳多个变量组成的list
result:
[python] view plain copy
print?
arg: 1
another arg: two
another arg: 3
**kwargs:
[python] view plain copy
print?
def fun_var_kwargs(farg, **kwargs):
print "arg:", farg
for key in kwargs:
print "another keyword arg: %s: %s" % (key, kwargs[key])
fun_var_kwargs(farg=1, myarg2="two", myarg3=3) # myarg2和myarg3被视为key, 感觉**kwargs可以当作容纳多个key和value的dictionary
result:
[python] view plain copy
print?
arg: 1
another keyword arg: myarg2: two
another keyword arg: myarg3: 3
也可以用下面的形式:
[python] view plain copy
print?
def fun_var_args_call(arg1, arg2, arg3):
print "arg1:", arg1
print "arg2:", arg2
print "arg3:", arg3
args = ["two", 3] #list
fun_var_args_call(1, *args)
result:
[python] view plain copy
print?
arg1: 1
arg2: two
arg3: 3
[python] view plain copy
print?
def fun_var_args_call(arg1, arg2, arg3):
print "arg1:", arg1
print "arg2:", arg2
print "arg3:", arg3
kwargs = {"arg3": 3, "arg2": "two"} # dictionary
fun_var_args_call(1, **kwargs)
result:
[python] view plain copy
print?
arg1: 1
arg2:"two"
arg3:3
相关文章推荐
- Python之sys模块
- Python模块之os.path
- 初学python(对比java语言不同) 第十篇
- 人脸检测新手入门篇
- python爬虫入门实践
- python线程的一些疑问
- Python教程1-7
- python非阻塞启动进程
- python 小模块--platform
- python 牛顿迭代小游戏
- Show me the code之Python练习册 Q8~9 html解析
- Show me the code之Python练习册 Q4~7
- Show me the code之Python练习册 Q1~3 优惠券
- python中if __name__ == '__main__': 的解析
- python读txt文件的编码问题
- python基本数据类型-数字
- 开始写blog记录下学习python的过程
- How is map() implemented internally in Python?
- Python语言进行机器学习的开源项目
- 随机验证码生成(python实现)