Python中*args 和**kwargs的用法
2015-07-08 09:30
573 查看
/article/9195098.html
好久没有学习python了,应为工作的需要,再次拾起python,唤起记忆。
当函数的参数不确定时,可以使用*args 和**kwargs,*args 没有key值,**kwargs有key值。
还是直接来代码吧,废话少说
[python] view
plaincopyprint?
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
plaincopyprint?
arg: 1
another arg: two
another arg: 3
**kwargs:
[python] view
plaincopyprint?
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
plaincopyprint?
arg: 1
another keyword arg: myarg2: two
another keyword arg: myarg3: 3
也可以用下面的形式:
[python] view
plaincopyprint?
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
plaincopyprint?
arg1: 1
arg2: two
arg3: 3
[python] view
plaincopyprint?
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
plaincopyprint?
arg1: 1
arg2:"two"
arg3:3
好久没有学习python了,应为工作的需要,再次拾起python,唤起记忆。
当函数的参数不确定时,可以使用*args 和**kwargs,*args 没有key值,**kwargs有key值。
还是直接来代码吧,废话少说
[python] view
plaincopyprint?
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
plaincopyprint?
arg: 1
another arg: two
another arg: 3
**kwargs:
[python] view
plaincopyprint?
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
plaincopyprint?
arg: 1
another keyword arg: myarg2: two
another keyword arg: myarg3: 3
也可以用下面的形式:
[python] view
plaincopyprint?
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
plaincopyprint?
arg1: 1
arg2: two
arg3: 3
[python] view
plaincopyprint?
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
plaincopyprint?
arg1: 1
arg2:"two"
arg3:3
相关文章推荐
- Python科学计算类库
- python获取状态码200的页面内容
- parameter passing in python DEMO
- Python chardet 字符编码判断
- Python将一个大文件按段落分隔为多个小文件的简单方法
- 【Python】局域网ping扫描在线主机
- python中字典,元组,列表和字符串之间的转换
- Python 生成的页面中文乱码问题
- Python写入CSV文件的方法
- Python根据区号生成手机号码的方法
- Python抓取淘宝下拉框关键词的方法
- Python抓取百度查询结果的方法
- python友情链接检查方法
- python登录豆瓣并发帖的方法
- Python中atexit模块的基本使用示例
- 浅谈Python中的闭包
- Python查询阿里巴巴关键字排名的方法
- Python实现批量修改文件名实例
- Python使用bs4获取58同城城市分类的方法
- python中偏函数partial用法实例分析