Python字典轉物件定義

2021-10-21 17:07:31 字數 840 閱讀 3990

新類重新賦值轉化法

先建乙個新類 dict :

class dict(dict):

__setattr__ = dict.__setitem__

__getattr__ = dict.__getitem__

該類整合了原字典 dict 類,字典不能使用點呼叫屬性,而該類可以,於是我們做值的轉換:

def dicttoobj(dictobj):

if not isinstance(dictobj, dict):

return dictobj

d = dict()

for k, v in dictobj.items():

d[k] = dicttoobj(v)

return d

這樣我們的字典經過 dicttoobj() 函式處理後得到的物件( dict 類)就可以直接點到屬性。

新類重寫 set 、get法

從上面的思路中還可以得到一種衍生方法:

class dict(dict):

def __getattr__(self, key):

return self.get(key)

def __setattr__(self, key, value):

self[key] = value

之後直接套到物件上轉換即可,例:

object = dict()

實際上,第二種方法細心的可能會發現,沒有處理多層結構!

所以當有多層結構時,第二種方法只能點到第一層上,還是用第一種方法較好,如果字典只有一層,那使用第二種方法較便捷快速。

python 列表轉字典

雖然元組 列表不可以直接轉化為字典,但下面的確是可行的,因為經常用python從資料庫中讀出的是元組形式的資料。cc 1 1 2 jiqw 3 1372 dict cc 12 3雖然列表不可轉字典,然而,兩個列表,就可以 需要zip 如下 a 1,2,3 b 4,5,6 dict a,b trace...

python 檔案轉字典,字典轉檔案

學習隨筆 檔案轉字典,字典轉檔案 思路 檔案轉字典 1.開啟檔案,建立乙個空字典 2.讀取檔案 按照需求讀取檔案,如以行讀取檔案,每次讀取一行 3.獲取讀取的有效資料 做個標記,以標記分割讀取的字串,返回乙個列表 4.將獲取的有效資料列表按照需求一一新增到字典中,同時記錄新增的順序 5.檔案讀取完成...

json 轉字典 字典轉json

brief 把格式化的json格式的字串轉換成字典 param jsonstring json格式的字串 return 返回字典 json格式字串轉字典 nsdictionary dictionarywithjsonstring nsstring jsonstring nsdata jsondata...