【发布时间】:2020-09-11 23:47:04
【问题描述】:
假设我们有这个属性:
import time
class Test:
@property
def dt(self):
return time.time()
t = Test()
print(t.dt) # 1590402868.9415174
在这个类的某些实例中,我想覆盖这个property 并将其替换为一个常量。
t.dt = 1234
不起作用:AttributeError: can't set attribute。
我也尝试过使用 setter:
@dt.setter
def dt(self, value):
self.dt = value
然后:RecursionError: maximum recursion depth exceeded.
问题:如何覆盖/删除对象实例的property,并将其替换为普通变量/属性?
【问题讨论】:
标签: python class properties attributes