像屬性一樣存取字典鍵
雖然使用物件屬性存取字典鍵可能會很方便(例如,使用obj.foo 而不是obj ['foo']),對於某些情況,Python不提供開箱即用的此功能
一種方法是建立自訂字典類,例如 AttributeDict,它會重寫 __getitem__ 和 __setitem__ 方法以提供類似屬性的存取。但是,這種方法有其限制。
更好的解決方案是使用 __dict__ 屬性,它是包含物件屬性的字典。透過將 AttrDict 實例指派給 __dict__,我們可以將字典鍵當作屬性來存取。
這個方法有幾個優點:
但是,有潛在的警告:
Python 預設不提供類似屬性的存取的一個原因是它可能會危及命名空間的安全。透過暴露內部字典,我們可能會無意中覆蓋或乾擾內建的 dict 方法。
因此,在生產程式碼中使用此方法之前仔細權衡利弊非常重要。
以上是我可以在 Python 中將字典鍵作為屬性存取嗎?的詳細內容。更多資訊請關注PHP中文網其他相關文章!