作者grtfor (哦啦啦)
看板Python
标题[问题] 请问如何动态改变物件属性名称
时间Tue Nov 9 12:00:15 2010
假设我有一个物件叫foo
它有三个属性,分别是x,y,z
然後现在有一个myMap = {x:1, y:2, z:3}
现在我想动态塞值进去...
for key in myMap:
if key == 'x':
foo.x= myMap[key]
...
有没有比较好的写法,让我不用写好几个if ?
(假设未来这属性 数量有时会改变 @@")
我试过
for key in myMap:
foo.key = myMap[key]
print foo.key # 有值
print foo.x # None
程式能跑,但值没有进去...
谢谢~~
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 122.116.223.134
※ 编辑: grtfor 来自: 122.116.223.134 (11/09 12:01)
1F:推 ypcat:foo.__dict__.update(myMap) 11/09 18:00
※ 编辑: grtfor 来自: 111.251.170.184 (03/10 00:57)