动态调用属性setter

时间:2016-11-01 09:46:50

标签: python python-3.x

self.__dict__.update resp。 self.__dict__....正在覆盖serial setter函数:

class Overwrite:
  serial_ = None

  @property
  def serial(self):
    print("get serial...")
    return self.serial_

  @serial.setter
  def serial(self, v):
    print("set serial...")
    self.serial_ = v

  def demo(self):
    test = {'serial': 'D1D297C1E8839EF2C0E69EF709653C05'}
    self.__dict__.update(test)


ow = Overwrite()
ow.demo()
print(ow.serial)

我想找到一种动态设置serial setter函数的方法。有人能帮助我吗?

1 个答案:

答案 0 :(得分:3)

您可以使用setattr

for k, v in test.items():
    setattr(self, k, v)
相关问题