[問題] 請問如何動態改變物件屬性名稱

看板Python作者 (哦啦啦)時間14年前 (2010/11/09 12:00), 編輯推噓1(100)
留言1則, 1人參與, 最新討論串1/2 (看更多)
假設我有一個物件叫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)

11/09 18:00, , 1F
foo.__dict__.update(myMap)
11/09 18:00, 1F
※ 編輯: grtfor 來自: 111.251.170.184 (03/10 00:57)
文章代碼(AID): #1CsCTHgL (Python)
文章代碼(AID): #1CsCTHgL (Python)