这两种方法本质上可以作为单独的方法(即函数,function)对待。
@classmethod
@staticmethod
一旦这两个修饰符,放在类的某个方法前面的时候,那么我们在使用这个类的时候,不需要去实例化这个类(比如a=A()),直接调用类的该方法即可。
最明显的一点,使用类方法和静态方法的时候,不会触发该类的构造方法 __init__ 来初始化这个类。
两者的区别是:
* 静态方法中,传入参数,完成任务,结束。
* 类方法,参数中要传入整个类,第一个参数永远是cls。好处是除了自身的任务,类方法还可以调用这个类中的所有静态方法。