Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/324.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 动态调用属性设置器_Python_Python 3.x - Fatal编程技术网

Python 动态调用属性设置器

Python 动态调用属性设置器,python,python-3.x,Python,Python 3.x,self.\uuu dict\uuuu.updateresp自身。uuu dict_uuuu….正在覆盖串行设定器功能: class Overwrite: serial_ = None @property def serial(self): print("get serial...") return self.serial_ @serial.setter def serial(self, v): print("set serial...")

self.\uuu dict\uuuu.update
resp<代码>自身。uuu dict_uuuu….正在覆盖
串行设定器
功能:

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)

我想找到一种方法来动态设置
串行setter
功能。有人能帮我吗?

你可以使用
setattr

for k, v in test.items():
    setattr(self, k, v)

不知道你想做什么。为什么你不能只做self.serial='D1….'?还要注意,你的
\uuu init\uuuu
方法和
serial
在类级别的声明都是毫无意义的,应该删除。你的目标是什么?你的房子坏了吗?如果您使用的是Python2,您需要确保显式继承自
对象
类覆盖(对象):
@Daniel Roseman,因为我收到一个或多个字典,如
{'serial':…
{'foo':…
。在序列示例中,我想修改内容。