@classmethod装饰器一般性使用

发布时间 2024-01-12 15:41:58作者: Alicute

@classmethod 装饰器是 Python 中的一种方法装饰器,用于定义类方法。类方法是一种与类本身相关联的方法,而不是与类的实例相关联的方法。
类方法可以通过类名或类的实例来调用。当类方法被调用时,第一个参数将始终是类本身,通常被命名为 cls。
一般用于与实例参数无关的时候。
`class a:

name = "aa"  # 类的名字

def __init__(self,name):
    self.self_name = name
    self.name = 'bbb'

@classmethod
def b(cls):
    print("my name is %s" % cls.name )

def c(self):
    print("my name is %s" % self.name)
    print("my classobj_name is %s" % self.self_name)

a.b() # my name is aa
a.c(a('xxx')) # my name is bbb my classobj_name is xxx
a_ojb = a('xxx')
a_ojb.c() # my name is bbb my classobj_name is xxx`