python类中使用的'cls'variables是什么?
为什么使用'cls'而不是'self'? 任何帮助赞赏
PEP 8
定义了"self"
与"cls"
之间的区别。 正如Adrien所说,这不是强制性的。 这是一种编码风格。 PEP 8
说:
函数和方法参数 :
始终使用
self
作为实例方法的第一个参数。总是使用
cls
作为类方法的第一个参数。
它用于类方法的情况。 查看这个参考了解更多细节。
编辑:正如阿德里安澄清,这是一个惯例。 你可以使用任何东西,但只能使用self
( PEP8 )。
这是一个很好的问题,但并不像问题那么简单。 尽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