首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >以星号和双星号开头的Python方法/函数参数

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

Stack Overflow用户
提问于 2010-11-30 01:59:52
回答 1查看 35.4K关注 0票数 86

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

例如:

代码语言:javascript
复制
def method(self, *links, **locks):
    #some foo
    #some bar
    return

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

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2010-11-30 02:03:04

*args**keywordargs表单分别用于传递参数列表和参数字典。所以如果我有一个像这样的函数:

代码语言:javascript
复制
def printlist(*args):
    for x in args:
        print(x)

我可以这样称呼它:

代码语言:javascript
复制
printlist(1, 2, 3, 4, 5)  # or as many more arguments as I'd like

为此

代码语言:javascript
复制
def printdict(**kwargs):
    print(repr(kwargs))

printdict(john=10, jill=12, david=15)

*args的行为类似于列表,而**keywordargs的行为类似于字典,但是您不必显式地将listdict传递给函数。

有关更多示例,请参阅this

票数 125
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4306574

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档