存取器方法提供了一種從複雜資料結構中擷取資料的便利方法,允許直覺的物件導向導航。然而,Python 原生字典本身就缺乏此功能。
問題:我們如何將嵌套的 Python 字典轉換為類似物件的結構,從而實現基於屬性的資料檢索?
答案:
使用Namedtuples(Python 2.6 及更高版本)
對於較新版本的Phon(226.及更高版本),namedtuples 提供優雅的解決方案。這些表示具有命名欄位的不可變自訂資料類型:
from collections import namedtuple MyStruct = namedtuple('MyStruct', 'a b d') s = MyStruct(a=1, b={'c': 2}, d=['hi']) print(s.a, s.b['c'], s.d[0]) # Output: 1 2 hi
使用自訂結構類別
或者,您可以建立模仿下列行為的自訂定義結構類別:物件:
class Struct: def __init__(self, **entries): self.__dict__.update(entries) args = {'a': 1, 'b': 2} s = Struct(**args) print(s.a, s.b) # Output: 1 2
以上是如何將嵌套的 Python 字典轉換為類似物件的結構以進行基於屬性的資料檢索?的詳細內容。更多資訊請關注PHP中文網其他相關文章!