Python – __dict__

測試環境為 CentOS 8 x86_64 (虛擬機)

關於 object.__dict__ 說明 : https://docs.python.org/3/library/stdtypes.html?highlight=__dict__#special-attributes
A dictionary or other mapping object used to store an object’s (writable) attributes.

dic ( dictionary ) 資料型態物件資料是由 key (鍵值,可使用 括字串(str),整數(int)與浮點數(float) ) + Value (值,可以為任何東西),定義使用大括號{} 來表示為 dic ,內的格式為 key:valu ( pair 組成 並由逗點隔開) 如下.

Computer1={"CPU":"Intel" , "MEM":["Hynix 16G","Hynix 16G"] , "Disk":"Samsung"}

在 python 物件預設使用 dict 資料型態物件儲存鍵值與其值的資料.

  • 範例 :
    [root@localhost ~]# vi dict.py
    class Computer_Component:
        def __init__(self , CPU , MEM , Disk):
            self.CPU=CPU
            self.MEM=MEM
            self.Disk=Disk
    
    Type1=Computer_Component("Intel" , ["Hynix 16G","Hynix 16G"] , "Samsung")
    print (Type1.__dict__)
    
    print(Computer_Component.__dict__)
    

    執行結果

    [root@localhost ~]# python3 dict.py
    {'CPU': 'Intel', 'MEM': ['Hynix 16G', 'Hynix 16G'], 'Disk': 'Samsung'}
    {'__module__': '__main__', '__init__': <function Computer_Component.__init__ at 0x7f38f9cfc7b8>, '__dict__': <attribute '__dict__' of 'Computer_Component' objects>, '__weakref__': <attribute '__weakref__' of 'Computer_Component' objects>, '__doc__': None}
    

    說明:
    Type1 的 __dict__ 就是儲存了該 Instance 的 dict 資料型態物件儲存鍵值與其值的資料.

    print (Type1.__dict__)
    

    結果

    {'CPU': 'Intel', 'MEM': ['Hynix 16G', 'Hynix 16G'], 'Disk': 'Samsung'}
    

    說明:
    Computer_Component 的 __dict__ 就是儲存了該 Class 的 dict 資料型態物件儲存鍵值與其值的資料.

    print(Computer_Component.__dict__)
    

    結果

    {'__module__': '__main__', '__init__': <function Computer_Component.__init__ at 0x7f38f9cfc7b8>, '__dict__': <attribute '__dict__' of 'Computer_Component' objects>, '__weakref__': <attribute '__weakref__' of 'Computer_Component' objects>, '__doc__': None}
    
沒有解決問題,試試搜尋本站其他內容

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。

這個網站採用 Akismet 服務減少垃圾留言。進一步了解 Akismet 如何處理網站訪客的留言資料