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

2024-06-08 11:44:06 (31分钟前 更新) 316 3591

最新回答


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()

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()
林佳(林巧洳) 2024-06-08

扩展回答

3

python 装饰器的问题

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

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

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

热门问答

装修专题

其他人还看了

页面运行时间: 0.43800806999207 秒