我的一個類,有多個變數
class Person(object):
def __init__(self):
self.name= None
self.age= None
self.address= None
當我拿到一個list
{"name": "zhang", "age": 22}
我要把list中所有元素賦值給類,因為有的變數是沒有的,所以我想通過遍歷list的方式,但回圈的時候不知道怎么動態的把key傳遞給類,然后給相應的類變數賦值
uj5u.com熱心網友回復:
呼叫Magic Methods __dict__ 直接將字典資料賦給它uj5u.com熱心網友回復:
樓主是想要這樣的效果嗎?
class Person(object):
def __init__(self, mydict):
self.name = None
self.age = None
self.address = None
self.__dict__.update(mydict) # 必須放最后一行
def __repr__(self):
return str(self.__dict__)
if __name__ == '__main__':
mydict = {"name": "zhang", "age": 22}
p = Person(mydict)
print(p)
uj5u.com熱心網友回復:
2個小問題也值得改進:1. class Person(object): 寫成 class Person(): 即可,因為定義類的時候默認就是繼承object物件!
2.變數list的實際資料明顯就是字典型別(而非串列型別),所以變數名list應該改為mydict之類的更為直觀!
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/96548.html
