【发布时间】:2013-02-07 16:40:47
【问题描述】:
我刚刚在阅读How can I assign a new class attribute via __dict__ in python? 的帖子,@bruno desthuilliers 有一条评论说:
不应直接调用魔术方法 - 它们在这里是作为运算符或泛型函数的实现。在这种情况下,惯用的解决方案是使用
setattr(obj, name, value)。
setattr 的情况似乎超出了他自己的评论范围:不是运算符,也不是真正的泛型函数的实现。
有人可以解释评论吗?为什么我应该更喜欢一个而不是另一个?
在哪种情况下最好使用obj.__setattr__(name, value)?
【问题讨论】:
标签: python coding-style