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

Arp*_*ath 22 python function python-3.x

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

class Shape:
    def __init__(self, *, shapename, **kwds):
        self.shapename = shapename
        super().__init__(**kwds)
Run Code Online (Sandbox Code Playgroud)

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

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

Sve*_*ach 17

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

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

  • 换句话说:在创建新的“Shape”对象时必须显式添加“shapename”,例如“Shape(shapename='Circle')” (2认同)