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':…
。在序列示例中,我想修改内容。