没有标识符的单个*在Python3函数中意味着什么?

时间:2012-07-06 16:10:52

标签: python function python-3.x

在Python函数参数中,没有标识符的单个*是什么意思? 这是一个适用于Python3.2的示例:

class Shape:
    def __init__(self, *, shapename, **kwds):
        self.shapename = shapename
        super().__init__(**kwds)

对我来说,自我之后的明星很奇怪。

我在这里找到了它(从第46行开始): http://code.activestate.com/recipes/577720-how-to-use-super-effectively/

1 个答案:

答案 0 :(得分:14)

单独*表示所有后续参数都是仅关键字参数,也就是说,它们只能使用其名称提供,而不能作为位置参数提供。

有关详细信息,请参阅PEP 3102