前言
本文比较了Python3中
@classmethod
和@staticmethod
的使用方法一般要用某个类的方法,先要实例这个类。但是可以通过
@staticmethod
和@classmethod
,直接用“类.方法()”来调用这个方法。而@staticmethod
和@classmethod
区别是@staticmethod
不需要表示自身对象的self和自身类的cls参数,就跟使用函数一样。@classmethod
也不需要self参数,但第一个参数需要是表示自身类的cls参数@staticmethod
中要调用到这个类的一些属性方法,可以直接类名.属性名或类名.方法名@classmethod
有cls参数,可以来调用类的属性,类的方法,实例化对象等,避免硬编码。