Re: [問題] 請問如何動態改變物件屬性名稱
※ 引述《grtfor (哦啦啦)》之銘言:
: 假設我有一個物件叫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
: 程式能跑,但值沒有進去...
: 謝謝~~
atr = { 'Age' :18 }
class Lady(object) :
pass
lady = Lady()
for k in atr :
lady.__setattr__( k , atr[k] )
print lady.Age
--
use __setattr__
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 218.211.32.194
推
11/09 16:29, , 1F
11/09 16:29, 1F
討論串 (同標題文章)
完整討論串 (本文為第 2 之 2 篇):
Python 近期熱門文章
PTT數位生活區 即時熱門文章