以星号和双星号开头的Python方法/函数参数

2024-06-28 14:45:14 发布

您现在位置:Python中文网/ 问答频道 /正文

我无法理解这些类型的函数在何处使用,以及这些参数与普通参数的工作方式有何不同。我见过他们很多次,但从来没有机会正确地理解他们。

例如:

def method(self, *links, **locks):
    #some foo
    #some bar
    return

我知道我可以搜索文档,但我不知道要搜索什么。


Tags: 函数文档self类型参数returnfoodef
1条回答
网友
1楼 · 发布于 2024-06-28 14:45:14

*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的行为类似于字典,但是您不必显式地向函数传递listdict

有关更多示例,请参见this

相关问题 更多 >