1. 程式人生 > 實用技巧 >分享一個python self.__dict__的用法

分享一個python self.__dict__的用法

原文地址:https://www.cnblogs.com/c-x-a/p/9475724.html

我們在使用給物件的屬性賦值的時候

class A():
    def __init__(self,dicts):
        self.name=dicts["name"]
        self.age=dicts["age"]
        self.sex=dicts["sex"]
        self.hobby=dicts["hobby"]
if __name__ == '__main__':
     dicts={"name":"lisa","age":23,"sex":"women
","hobby":"hardstyle"} a=A(dicts)

我們看到我們需要換取傳入的字典的各個鍵值,並建立鍵值同名一個屬性,這裡我們只有4個還好,想象一下如果我們傳入的字典有100個鍵。。。如何還是這樣一個一個賦值不敢想不敢想,人家都寫完程式碼了,你還在賦值有木有。。
其實一開始的那段程式碼已經給出了答案,如果不會也沒關係,
下面我們就來點pythonic的python。來解決這個問題。
上面程式碼簡化為:

class A():
    def __init__(self,dicts):
        self.__dict__.update(dicts)
        print
(self.__dict__) if __name__ == '__main__': dicts={"name":"lisa","age":23,"sex":"women","hobby":"hardstyle"} a=A(dicts)