在Python3函数中,不带标识符的单个*代表什么意思?

13 浏览
0 Comments

在Python3函数中,不带标识符的单个*代表什么意思?

这个问题已经有答案了:

Python函数参数中的裸星号是什么意思?

在Python函数参数中,单个没有标识符的 * 是什么意思?以下是一个在Python3.2中运行的示例:

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

对我来说,self之后的星号很奇怪。

我在这里找到了它(从第46行开始):

http://code.activestate.com/recipes/577720-how-to-use-super-effectively/

admin 更改状态以发布 2023年5月24日
0
0 Comments

*代表其后的所有参数都是关键字参数,即只能通过其名称提供,而不能作为位置参数。

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

0