在Python中,我可以使用__abc0 decorator向类添加方法。有没有类似的修饰器来向类添加属性?我可以更好地展示我所说的。
class Example(object):
the_I = 10
def __init__( self ):
self.an_i = 20
@property
def i( self ):
return self.an_i
def inc_i( self ):
self.an_i += 1
# is this even possible?
@classproperty
def I( cls ):
return cls.the_I
@classmethod
def inc_I( cls ):
cls.the_I += 1
e = Example()
assert e.i == 20
e.inc_i()
assert e.i == 21
assert Example.I == 10
Example.inc_I()
assert Example.I == 11
我在上面使用的语法是可能的,还是需要更多的东西?
我想要类属性的原因是我可以延迟加载类属性,这看起来很合理。