发布网友 发布时间:2022-04-21 19:10
共1个回答
热心网友 时间:2022-04-06 15:24
两个都是装饰器,staticmethod是将类的函数声明为静态方法,这样可以直接通过类调用该方法,而不用实例话该对象。例如classA():@staticmethoddeftest(self):print“hehe”A.test()这样就能调用。classmethod,是将该装饰器修饰的函数,第一个参数变为cls(平常是self)。self指向该类的实例,也就是一个对象,cls指向这个类本身classA():@classmethoddeftest(cls):cls.__init__()print“hehe”a=A()a.test()这个时候,在test里可以对类进行初始化等等。就是其修饰的函数,一个是对类的对象操作,一个是对类本身操作