我只是在阅读帖子如何在 python 中通过 __dict__ 分配新的类属性?@bruno desthuilliers 有一条评论说:
不应该直接调用魔术方法——它们在这里是作为运算符或通用函数的实现。在这种情况下,惯用的解决方案是使用
setattr(obj, name, value)
.
setattr 的情况似乎超出了他自己评论的范围:不是运算符,也不是泛型函数的真正实现。
有人可以解释评论吗?为什么我应该更喜欢一个而不是另一个?
在什么情况下最好使用obj.__setattr__(name, value)
?