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、知道了私有变量的新名称,就可 ...