我正在創建一個Python類作爲通過REST遠程管理的對象的API。何時將屬性動態添加到Python對象是否合適?
REST API包含一個調用,該調用返回定義遠程對象屬性的字典列表。我正在編寫代碼來動態添加這些屬性作爲相應Python對象的屬性(即:當實例化類時,會爲屬性列表創建一個REST查詢,然後將其中的每個屬性添加爲屬性)
但是,這帶回了PHP代碼的記憶我曾經瞥過那些動態添加屬性的對象並思考「你聽說過字典嗎?」由於我的背景紮根於C/C++/Java,對我來說這是一個有點外國的想法,但也許是Python(和PHP)課程的標準。那麼,什麼時候適合動態地將屬性添加到對象而不是使用字典呢?
從我讀過的相關資料看來,API在我看來是合法的。
無論如何,屬性表面上都存儲在一個名爲'__dict__'的字典中。 –
我相信在Python中,如果鍵和值是同質的話,最好使用字典。如果要存儲每個鍵指向不同類型值的對象層次結構,請使用對象。也就是說,如果對象具有有意義的類型名稱,特別是在API文檔使用它們的情況下會更好。 (就像Google的API那樣。) – millimoose
@WaleedKhan這不是我關心的存儲抽象。我想,這是編程實踐,適當的設計,並避免濫用語言功能。 – Matt