研究一下

發現主要差異在
直接呼叫函式是否需要帶入自己的限制差異

程式碼示範:

class A():
    def no_classmethod_D():
        print("i am d")
    @classmethod
    def classmethod_B():
        print("i am b")
    @classmethod
    def classmethod_C_self(self):
        print("i am c")

A.no_classmethod_D() #pass 直接呼叫不需要帶入自己
A.classmethod_C_self() #pass classmethod 需要帶入自己
A.classmethod_B() #報錯 沒有帶入自己直接呼叫會報錯

輸出:
TypeError: classmethod_B() takes 0 positional arguments but 1 was given

給大家參考囉