Python 中的 classmethod 和 staticmethod 有什么具体用途?



                    
                    
变猪猪911
83717 次浏览 2024-05-27 提问
72

最新回答 (1条回答)

2024-05-27 回答


classmethod,是将该装饰器修饰的函数,一个是对类的对象操作,这样可以直接通过类调用该方法:
cls两个都是装饰器,也就是一个对象,在test里可以对类进行初始化等等,而不用实例话该对象:
@classmethod
def test(cls).__init__()
print “hehe”
a = A()
a.test()
这个时候。
就是其修饰的函数,staticmethod是将类的函数声明为静态方法:
@staticmethod
def test(self)。
例如
class A():
print “hehe”
A.test() 这样就能调用,第一个参数变为cls(平常是self)。
self指向该类的实例,cls指向这个类本身
class A()

扩展回答

python 装饰器的问题

这样才可以调用wrappedFunc函数的啊
但是返回调用wrappedFunc()的时候为什么发生了错误呢:
修改成return wrappedFunc之后恢复了功能

问题:
我给空函数添加了装饰器decorator
return wrappedFunc()的时候发生了错误

第二张
第一张,如上图:
我返回的应该是wrappedFunc的调用,如上图

相关问题

页面运行时间: 0.20227003097534 秒