在python中,这两个是python中的可变参数,*arg表示任意多个无名参数,类型为tuple,**kwargs表示关键字参数,为dict,使用时需将*arg放在**kwargs之前,否则会有“SyntaxError: non-keyword arg after keyword arg”的语法错误
def test(*arg,**kwargs):
print arg
print kwargs
print "-------------------"
if __name__=='__main__':
test(1,2,3,4,5)
test(a=1,b=2,c=3)
test(1,2,3,a=1,b=3,c=5)
output:
(1, 2, 3, 4, 5)
{}
-------------------
()
{'a': 1, 'c': 3, 'b': 2}
-------------------
(1, 2, 3)
{'a': 1, 'c': 5, 'b': 3}
-------------------
本文介绍了Python中*args和**kwargs的功能与用法。*args用于收集任意数量的位置参数并将其作为元组传递,而**kwargs则用于收集关键字参数并将它们以字典形式传递。文章通过示例展示了如何在函数定义中使用这两种特性。
1803

被折叠的 条评论
为什么被折叠?



