setattr如果hasattr否则对self.item进行setattr

时间:2018-06-22 02:12:21

标签: python

任务:setattr(self, key, value) if hasattr(self, key) else setattr(otherobject, key, value),其中otherobjectself的属性

该问题有两个我无法解决的问题。

    如果重新定义setattr(self.baz, key, value)
  1. __setattr__的结局很差,因为您不能在不调用需要定义self.baz的{​​{1}}的情况下分配__setattr__

  2. 我希望self.baz(在尝试分配属性时调用)的行为__getattr__(在默认属性访问失败时调用),仅在hasattr(self ,密钥)为False。

以下代码是错误的;我希望解决方案类似于...

__setattr__

问题1是更大,更紧迫的问题。

问题1解决之后,对问题2是否有更优雅的解决方案?

0 个答案:

没有答案