我理解为什么 Pythonself
在引用实例属性时需要显式限定符。
但我经常忘记它,因为我在 C++ 中不需要它。
我以这种方式引入的错误有时非常难以捕捉;例如,假设我写
if x is not None:
f()
代替
if self.x is not None:
f()
假设属性x
通常是None
,所以f()
很少被调用。并且假设f()
只会产生微妙的副作用(例如,数值的变化,或清除缓存等)。除非我有大量的单元测试,否则这个错误很可能会在很长一段时间内被忽视。
我想知道是否有人知道可以帮助我捕获或避免此类错误的编码技术或 IDE 功能。