@classmethod主要是为了解决python中关于函数重载的目的,大家也可以这样理解,在正常的情况下我们使用类中函数的时候需要先将类实例化,然后再调用类中的成员函数:
class ceshi():
def __init__(self):
pass
def first(self):
print("the first")
def second(self):
print("teh second")
当我们想要调用first()函数时:
ceshi_ = ceshi()
ceshi_.first()
输出结果为first。
当我们不想通过实例化ceshi()的时候怎么办?
its the show time of “@classmethod”
代码:
class ceshi():
def __init__(self):
pass
@classmethod
def first(self):
print("first")
def second(self):
print("second")
ceshi.first()
结果为:first