我只是读后How can I assign a new class attribute via __dict__ in python?而且从@bruno desthuilliers一个评论说:SETATTR(对象名称,值)对对象.__ SETATTR __(名称,值)
一个不应该直接召唤魔法方法 - 它们在这里是作为运算符或通用函数的实现。在这种情况下,惯用的解决方案是使用
setattr(obj, name, value)
。
setattr的情况似乎超出了他自己的评论范围:不是一个运算符,也不是真正的泛型函数的实现。
有人可以解释评论吗?为什么我应该比另一个更喜欢?
在哪种情况下最好使用obj.__setattr__(name, value)
?
感谢@Martijn伟大的答案 –