我不理解这些类型的函数在哪里使用,以及这些参数与普通参数有什么不同。我经常遇到它们,但从未有机会彻底了解它们。
例如:
def method(self, *links, **locks):
#some foo
#some bar
return
我知道我可以查阅文档,但我不知道应该搜索什么。
我不理解这些类型的函数在哪里使用,以及这些参数与普通参数有什么不同。我经常遇到它们,但从未有机会彻底了解它们。
例如:
def method(self, *links, **locks):
#some foo
#some bar
return
我知道我可以查阅文档,但我不知道应该搜索什么。
*args
和**kwargs
分别用于传递参数列表和字典。因此,如果我有这样一个函数:
def printlist(*args):
for x in args:
print(x)
我可以这样调用:
printlist(1, 2, 3, 4, 5) # or as many more arguments as I'd like
为此
def printdict(**kwargs):
print(repr(kwargs))
printdict(john=10, jill=12, david=15)
*args
就像一个列表一样,**keywordargs
就像一个字典一样,但您不必显式地将 list
或 dict
传递给函数。
更多示例,请参见此处。
def d(*args): ... print(type(args)) d(1, 2, 3) <type 'tuple'>
- Jack Peng定义 d(*args)函数: ... 打印(type(args)) d(1, 2, 3) 元组类型