python类中使用的'cls'variables是什么?

为什么使用'cls'而不是'self'? 任何帮助赞赏

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

函数和方法参数

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

总是使用cls作为类方法的第一个参数。

它用于类方法的情况。 查看这个参考了解更多细节。

编辑:正如阿德里安澄清,这是一个惯例。 你可以使用任何东西,但只能使用selfPEP8 )。

这是一个很好的问题,但并不像问题那么简单。 尽pipe类似地他们在相同的地方,但是“自我”和“CLS”使用的方法有区别

 def moon(self,moon_name): self.MName =moon_name #but here cls method its use is different def moon(cls,moon_name): instance=cls() instance.MName=moon_name