当你尝试使用hasattr()访问它时,是否有可能使一个装饰器使属性变得懒惰而不是eval?我弄清楚如何让它变得懒惰,但是hasattr()会让它过早地进行评估.例如.,
class lazyattribute:
# Magic.
class A:
@lazyattribute
def bar(self):
print("Computing")
return 5
>>> a = A()
>>> print(a.bar)
'Computing'
5
>>> print(a.bar)
5
>>> b = A()
>>> hasattr(b,'bar')
'Computing'
5
# Wanted output: 5
最佳答案