Python调试中特殊的属性值: __iter__

发布时间 2023-06-29 14:32:23作者: 顺其自然,道法自然

在调试python源码时遇到一件奇怪的事情, 某个属性的值为__iter__, 并且给它明确的赋别的值, 发现并没有作用, 如下所示:
image
仔细思考了一下, 有点儿明白了, __getattr__方法的作用是当找不到对象的属性时会调用此函数, 这时, method的值'deviceInfo'就是此对象不存在的属性, 所以进入到__getattr__方法中, 那么在此方法中再进行属性赋值操作有可能陷入死循环, 我猜测是不是此种原因才导致里面的赋值看起来没有起作用, 赋予一个临时的__iter__值?