问题描述
当PyCharm python控制台加载代码完成建议窗口时,将执行以@property装饰的函数。使用@cached_property装饰器引入的Python 3.8 functools也会发生这种情况。为什么会发生这种情况,并且有办法禁用这种行为?我非常希望仅通过浏览对象的公共字段就不能加载缓存的属性。
举一个具体的例子,请考虑此类:
from functools import cached_property
class Simple:
@property
def prop1(self):
print('property 1!')
return 1
@cached_property
def prop2(self):
print('property 2!')
return 2
在python控制台中创建此对象后
s = Simple()
,只需键入
s.
打印语句被执行,我们得到以下输出:
property 1!
property 2!
为什么会发生这种情况,并且有一种方法可以禁用此行为?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)