最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

python中將字典改造為對象的方法

 更新時間:2023年11月03日 10:19:49   作者:驚瑟  
這篇文章主要介紹了python中將字典改造為對象的方法,在實際項目中,當(dāng)使用json模塊加載一個深度很深的字典類型的json文件時,使用字典的訪問方式,將會出現(xiàn)很多中括號,即不直觀也不美觀,可以將這個字典轉(zhuǎn)化為對象,使得可以用.的方式訪問,需要的朋友可以參考下

python中將字典改造為對象

在實際項目中,當(dāng)使用json模塊加載一個深度很深的字典類型的json文件時,使用字典的訪問方式,將會出現(xiàn)很多中括號,即不直觀也不美觀,可以將這個字典轉(zhuǎn)化為對象,使得可以用.的方式訪問。

代碼如下:

class Dict2Obj(dict):
    def __getattr__(self, key):
        print('getattr is called')
        if key not in self:
            return None
        else:
            value = self[key]
            if isinstance(value,dict):
                value = Dict2Obj(value)
            return value
dic = {
    'zone':{
        'city':'shenzhen',
        'location':'sx tech building'
    },
    'code':{
        'frontend':'vue',
        'backend':'python'
    }
}
dic2obj = Dict2Obj(dic)
print(dic2obj.zone.city)

輸出:

getattr is called
getattr is called
shenzhen

原理很簡單,就是重寫__getattr__方法,關(guān)于__getattr__的介紹,可以參考之前的文章python getattribute 、getattr、setattr 詳解。

當(dāng)一個對象通過’.'來訪問一個屬性時,如果報錯,將會轉(zhuǎn)到__getattr__做進一步處理,此時就可以將該key對應(yīng)的value返回,當(dāng)然如果value仍然是一個字典,則需要將它繼續(xù)轉(zhuǎn)化為一個Dict2Obj對象。

當(dāng)訪問不存在的key時,和字典一樣,會彈出異常,為了避免這種情況發(fā)生,類似字典,可以使用get()訪問。

到此這篇關(guān)于python中將字典改造為對象的方法的文章就介紹到這了,更多相關(guān)python字典改造為對象內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 使用 Python 實現(xiàn)微信公眾號粉絲遷移流程

    使用 Python 實現(xiàn)微信公眾號粉絲遷移流程

    近日,因公司業(yè)務(wù)需要,需將原兩個公眾號合并為一個,即要將其中一個公眾號(主要是粉絲)遷移到另一個公眾號。這篇文章主要介紹了使用 Python 實現(xiàn)微信公眾號粉絲遷移,需要的朋友可以參考下
    2018-01-01
  • Python如何判斷字符串是否僅包含數(shù)字

    Python如何判斷字符串是否僅包含數(shù)字

    在用Python進行數(shù)據(jù)處理的時候,經(jīng)常會遇到DataFrame中的某一列本應(yīng)該是數(shù)值類型,但由于數(shù)據(jù)不規(guī)范導(dǎo)致在字段中夾雜了非數(shù)值類型,本文就介紹了Python如何判斷字符串是否僅包含數(shù)字,感興趣的可以了解一下
    2022-03-03
  • Python Pydantic數(shù)據(jù)驗證的實現(xiàn)

    Python Pydantic數(shù)據(jù)驗證的實現(xiàn)

    本文主要介紹了Python Pydantic數(shù)據(jù)驗證的實現(xiàn)
    2025-04-04
  • 通過Python pyecharts輸出保存圖片代碼實例

    通過Python pyecharts輸出保存圖片代碼實例

    這篇文章主要介紹了通過Python pyecharts輸出保存圖片代碼實例,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-11-11
  • Python中hashlib模塊的摘要算法詳解

    Python中hashlib模塊的摘要算法詳解

    這篇文章主要介紹了Python中hashlib模塊的摘要算法詳解,摘要算法又稱哈希算法、散列算法,它通過一個函數(shù),把任意長度的數(shù)據(jù)轉(zhuǎn)換為一個長度固定的數(shù)據(jù)串,通常用16進制的字符串表示,需要的朋友可以參考下
    2023-08-08
  • 利用Python實現(xiàn)高效數(shù)據(jù)收集與挖掘的實戰(zhàn)指南

    利用Python實現(xiàn)高效數(shù)據(jù)收集與挖掘的實戰(zhàn)指南

    在當(dāng)今數(shù)據(jù)驅(qū)動的時代,如何高效獲取互聯(lián)網(wǎng)上的海量數(shù)據(jù)成為許多企業(yè)和研究者的核心需求,Python憑借其豐富的爬蟲庫和簡潔的語法,成為了數(shù)據(jù)采集領(lǐng)域的首選工具,本文將帶你全面了解如何利用Python爬蟲技術(shù)實現(xiàn)數(shù)據(jù)收集,需要的朋友可以參考下
    2025-07-07
  • python如何刪除文件中重復(fù)的字段

    python如何刪除文件中重復(fù)的字段

    這篇文章主要為大家詳細介紹了python如何刪除文件中重復(fù)的字段,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-07-07
  • 正則表達式核心語法以及Python的re庫中常用方法總結(jié)

    正則表達式核心語法以及Python的re庫中常用方法總結(jié)

    正則表達式是文本處理的瑞士軍刀,而Python的re模塊則是操作這把利器的重要工具包,這篇文章主要介紹了正則表達式核心語法以及Python的re庫中常用方法的相關(guān)資料,文中通過代碼介紹的非常詳細,需要的朋友可以參考下
    2026-04-04
  • Python提取支付寶和微信支付二維碼的示例代碼

    Python提取支付寶和微信支付二維碼的示例代碼

    本文將教你使用 Python 的圖像處理庫 pillow,輕松批量提取圖片中間的方形二維碼部分。小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2019-02-02
  • python庫sklearn常用操作

    python庫sklearn常用操作

    sklearn是一個無論對于機器學(xué)習(xí)還是深度學(xué)習(xí)都必不可少的重要的庫,里面包含了關(guān)于機器學(xué)習(xí)的幾乎所有需要的功能,本文不會先整體介紹sklearn庫,而是先從sklearn庫中的一些具體實例入手,感興趣的朋友一起看看吧
    2021-08-08

最新評論

巴青县| 忻州市| 松江区| 江川县| 石楼县| 临澧县| 蒲城县| 乐都县| 五河县| 台安县| 革吉县| 邹城市| 汤阴县| 清水县| 昭苏县| 辽阳市| 甘洛县| 昌吉市| 乳源| 宿迁市| 莱州市| 焦作市| 宜良县| 台南市| 布尔津县| 晋江市| 朝阳市| 吉水县| 阳信县| 山丹县| 香河县| 临高县| 固镇县| 隆尧县| 余庆县| 乌兰察布市| 赤壁市| 成安县| 介休市| 文登市| 梧州市|