【发布时间】:2015-01-03 02:09:50
【问题描述】:
通过完全的意外和调试打印,我注意到每次访问我的对象的任何属性时,都会评估其所有属性。
这是标准 CPython 环境中的正常行为吗?
如果是这样,为什么,有什么方法可以阻止这种行为?
【问题讨论】:
-
可以显示示例代码来演示这一点吗?您是在以交互方式运行代码,还是在任何类型的 IDE 中运行代码,这些 IDE 可能正在读取属性值以将它们显示在监视面板或类似的东西中?
-
@BrenBarn 哦,你知道吗,可能就是这样。
-
我记得几个月前有人问过关于 Spyder IDE 的类似问题,但我现在找不到。
-
不幸的是,我似乎无法通过 REPL 导入我的模块 - 即使从我的 IDE 的内置 REPL 中它工作得很好。呵呵。
-
不,这不是正常行为,除非你的 IDE 很奇怪,否则它一定是关于你的覆盖
__getattribute__之类的。
标签: python python-3.x properties