python类方法怎么用
概念
1、在类定义中,使用@classmethodz装饰器修饰的方法
用法
2、必须至少一个参数,且第一个参数留给cls,cls指代调用者即类对象自身
cls这个标识符可以是任意合法名称,但是为了易读,请不要修改
通过cls可以直接操作类的属性
无法通过cls操作类的实例
实例
class Myclass: """My class """ @classmethod def my_method(cls): print("class = {0.__name__}({0})".format(cls)) def foo(self): print("my class foo") a = Myclass() a.my_method() # 相当于 a.__class__.my_method() # class = Myclass(<class '__main__.Myclass'>) Myclass.my_method() # class = Myclass(<class '__main__.Myclass'>) print(Myclass.__dict__) # {'__module__': '__main__', '__doc__': 'My class ', 'my_method': <classmethod object at 0x01D09070>, 'foo': <function Myclass.foo at 0x02246150>, '__dict__': <attribute '__dict__' of 'Myclass' objects>, '__weakref__': <attribute '__weakref__' of 'Myclass' objects>}
说明1、类定义的时候,如果声明一个实例变量的时候,使用双下划线,Python解释器将其改名,转换名称为:【_Myclass__变量名】 的名称,所以用原来的名字访问不到了。2、知道了私有变量的新名称,就可 ...