測試環境為 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}
沒有解決問題,試試搜尋本站其他內容