字典(dict)是Python語言中內置的一種數據類型,在Python的類中靈活使用字典可能會起到意想不到的效果,簡化我們的編程代碼,下面通過一個例子進行說明。
類的定義
先看下面一個類的定義,代碼如下所示:
在上面的代碼中定義了一個學生類Student,類中使用了一個字典,用字典存儲學生類的三個屬性:「name」、「age」和「score」,並且可隨時對其實例的屬性恢復其默認值、賦新值或獲取其值,代碼具體說明如下:
第11-15行,定義類的私有成員變量「__attributes」,它是一個字典,僅在類內部用作保存學生類的三個屬性「name」、「age」和「score」的默認值第16-18行,類的初始化函數,第17行首先定義了一個類的成員變量self.attributes為空字典,第18行調用setDefaultAttribute函數為其賦值第20-21行,定義setDefaultAttribute函數,這兒使用了字典的update函數,將私有成員變量「__attributes」的值賦給類的成員變量self.attributes,供其實例調用。所以這兒self.attributes存儲了學生類的三個屬性「name」、「age」和「score」的默認值,第23-26行,定義setAttribute函數,通過一個字典參數kwargs用來設置self.attributes字典中「name」、「age」和「score」的值,這兒設定新值之前,先對輸入的kwargs中每個關鍵字判斷其是否屬於該類屬性的關鍵字,若屬於,才賦值第28-29行,定義getAttribute函數,通過輸入關鍵字獲得類的屬性值
類的使用例子
使用上面的學生類編寫了一個例子,代碼如下:
代碼簡要說明如下:
第31-32行,定義學生類的一個實例student,並直接通過其成員變量attributes列印出其三個屬性值第34-35行,調用setAttribute函數更新student的屬性值,列印出其三個屬性值第37-38行,調用setDefaultAttribute函數,將student的屬性值恢復為默認值,列印出其三個屬性值第40-41行,調用setAttribute函數,只更新student的其中一個name屬性值,列印出其三個屬性值第43行,調用getAttribute函數,僅列印出name屬性值
運行結果如下圖所示:
結論
通過上面的例子可看出,在類中使用字典類型,可方便保存類的多個屬性值,並且可以通過調用字典的相關函數,隨時對類實例的屬性恢復默認值、賦新值或獲取其值等操作,相對來說,是比較簡單的一種方法。
歡迎加關注,共同交流。