Python方法/函数的参数以星号和双星号开头
Python方法/函数的参数以星号和双星号开头
这个问题已经有了答案:**(双星号/星号)和*(星号/星号)对参数有什么作用?
我不明白这些类型的功能在哪里使用,以及这些参数与普通参数的不同之处。我遇到过他们很多次,但从未有机会完全理解它们。
例如:
def method(self, *links, **locks): #some foo #some bar return
我知道我可以查找文档,但我不知道该搜索什么。
admin 更改状态以发布 2023年5月23日
*args
和**keywordargs
形式分别用于传递参数列表和参数字典。因此,如果我有一个像这样的函数:
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
传递给函数。
查看这里以获取更多示例。