--classmethod可以被一個例項呼叫,classonlyethod只能被類呼叫
class Kls(object): no_inst = 0 def __init__(self): Kls.no_inst = Kls.no_inst + 1 @classmethod def get_no_of_instance(cls_obj): return cls_obj.no_inst ik1 = Kls() ik2 = Kls() print ik1.get_no_of_instance() print Kls.get_no_of_instance()
輸出:
2
2
這樣的好處是: 不管這個方式是從例項呼叫還是從類呼叫,它都用第一個引數把類傳遞過來.
參考:https://blog.csdn.net/waiwaiLILI/article/details/80937815