嗨, 大家好: 网站在新年后正式开通,欢迎大家加入我们,共同维护一个良好氛围的中国技术社区。 欢迎举报不良帖子,欢迎提供建议。
我们的QQ群:136102234,欢迎进群找答案,里边会有很多资深的大师们。 point overflow

常见的很多地方都会用到args和*args。

这两个有什么区别?

提问了 2016-05-20 10:10:52

jkant's gravatar image

jkant ♦♦
11131137138
采纳率: 3%


当函数的参数不确定时,可以使用*args 和kwargs,*args 没有key值,kwargs有key值。

永久链接

已回答 2016-05-20 10:11:01

jkant's gravatar image

jkant ♦♦
11131137138
采纳率: 3%

例子: 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

永久链接

已回答 2016-05-20 10:11:28

jkant's gravatar image

jkant ♦♦
11131137138
采纳率: 3%

已编辑 2016-05-20 10:12:37

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

永久链接

已回答 2016-05-20 10:12:17

jkant's gravatar image

jkant ♦♦
11131137138
采纳率: 3%

你的回答
切换预览

关注这个问题

邮件:

登录之后,你可以在这里订阅任何更新。

RSS:

回答

回答和评论

Markdown基本语法

  • *italic* or _italic_
  • **bold** or __bold__
  • 链接:[文本](http://url.com/ "标题")
  • 图片?![alt 文本](/path/img.jpg "标题")
  • 编号列表: 1. Foo 2. Bar
  • 如果想要换行,只需要在前一行结尾处插入2个空格即可。
  • 支持基本HTML标记

问题标签:

×10
×1

已提出的问题: 2016-05-20 10:10:52

问题浏览量: 1,292 次

最后更新: 2016-05-20 10:12:37