args = [4,5]
kwargs = {'x': 7}
func(a, b=2, *args, **kwargs)
引用a,b,args和kwargs的接受命名是什么?
特别要填写空白处:
'a' is a (_blank_) positional argument
'args' contains (_blank_) positional arguments
'b' is a (_blank_) keyword argument
'kwargs' contains (_blank_) keyword arguments
我正在寻找像(空白)= {形式/任意长度/实际/可变位置/固定}
之类的东西如果我在上面错了,请纠正我。
答案 0 :(得分:1)
您正在寻找的大部分内容都可以在the Python Tutorial找到。
从左到右:
a
是位置参数。b=3
是一个位置参数,默认值为3. *args
是一个任意参数列表,解压缩为元组。**kwargs
是一个关键字参数,解压缩为字典。答案 1 :(得分:1)
正如Edward Loper已经描述的那样,你的条款是正确的。你只能更具体:
'kwargs'传递任意关键字参数。
def punk(a, b, *args, **kwargs):
print a
print b
print args
print kwargs
a=1; b=2; args = [4,5]; kwargs={'x':7}
punk(a, b=b, *args, **kwargs)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: punk() got multiple values for keyword argument 'b'
如果合法使用args
,可以说它用于传递可能需要的和任意位置参数。
>>> punk(a, *args)
1
4
(5,)
{}