Python 类中“cls”和“self”的区别?

新手上路,请多包涵

为什么有时使用 --- cls 而不是 self 作为 Python 类中的参数?

例如:

 class Person:
    def __init__(self, firstname, lastname):
        self.firstname = firstname
        self.lastname = lastname

    @classmethod
    def from_fullname(cls, fullname):
        cls.firstname, cls.lastname = fullname.split(' ', 1)

原文由 Scaraffe 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 619
1 个回答

"self""cls" PEP 8 定义。正如 Adrien 所说,这不是强制性的。这是一种编码风格。 PEP 8 说:

_函数和方法参数_:

始终使用 self 作为实例方法的第一个参数。

始终使用 cls 作为类方法的第一个参数。

原文由 Baskaya 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题