1. 程式人生 > >Python轉換字典成為物件,可以用"."方式訪問物件屬性

Python轉換字典成為物件,可以用"."方式訪問物件屬性

database = [
    {
        "name": "18D_Block",
        "xcc":{    
            "component": {
                "core":[],
                "platform":[]
            },
        },
        "uefi":{    
            "component": {
                "core":[],
                "platform":[]
            },
        }
    }
]
class Dict(dict):
    __setattr__ = dict.__setitem__
    __getattr__ = dict.__getitem__

def dict_to_object(dictObj):
    if not isinstance(dictObj, dict):
        return dictObj
    inst=Dict()
    for k,v in dictObj.items():
        inst[k] = dict_to_object(v)
    return inst
# 轉換字典成為物件,可以用"."方式訪問物件屬性
res = dict_to_object(database[0])
print res.name
print res.xcc
print res.xcc.component
print res.xcc.component.core

相關推薦

Python轉換字典成為物件可以"."方式訪問物件屬性

database = [ { "name": "18D_Block", "xcc":{ "component": {

python的迭代器可迭代物件生成器理解

上篇文章, python itertools 裡面實現的groupby方法。裡面用到了object, id, iter等很基礎的方法, 看的有點暈。這裡重新整理一下迭代器,可迭代物件, 生成器。複習一下,加深印象。 python語言很容易上手。比如for迴圈。 a = [1, 2,

python字典的幾種定義方式

def trace syn syntax invalid last ict print class # 方式1 >>> d = dict(name=‘Bob‘, age=20, score=88) >>> print(d) {‘name

python 遇到表情程式碼出錯 正則表示式去掉表情程式碼

>>> aa = '\U0001f60a\adwkdkdkkdk' # 這裡“\U0001f60a” 這是表情的程式碼 帶這個\ >>> import re >>> cc = re.compile(r'\U0

JSON.parseObject將json轉換物件包含三層物件轉換和巢狀轉換

public class JSONTest { public static void main(String[] args){ String json1="{\n" + " \"name\": \"skynet\"

Redis 存取 java 物件 hash 雜湊命令儲存物件的各個屬性和採用 String 字串命令儲存序列化後的物件之開銷對比

轉自:http://www.jfinal.com/share/460 用一個簡單的User物件做試驗,共有4個屬性,型別分別為整型,整型,字串,字串。 測試程式碼 public class TestRedis { private static final Cache testCach

OC實現猜拳遊戲2.0(更簡單方法兩個物件、繼承、條件表示式、@proterty增強和點語法)

/*概述:玩家和電腦出拳,贏方加分,輸的一方不加分。每一局之後詢問玩家是否繼續。 分析:物件1:玩家,同電腦。方法:被詢問時選擇出拳並輸出選擇(列舉) 物件2:電腦,屬性:姓名,出的拳頭,分數。方法:出拳,判斷輸贏(傳玩家物件)並計分。

介紹幾個Python很冷門的庫起來卻很實用

Python是一種很棒的程式語言。事實上,它還是世界上發展最快的程式語言之一。它一次又一次證明了它在資料科學職位中的實用性。整個Python及其庫的生態系統使其成為全世界使用者(初學者和高階)的合適選擇。 在本文中,我們將介紹一些用於資料科學方面的Python庫,它們並不像pandas、sc

Python資料字典處理Excel並統計總數畫出餅圖

     之前給大家分享了使用pyechats庫畫折線圖和柱狀圖,也是讀取Excel表格中資料來畫圖的,這裡我使用的是Python3;現在給大家分享使用matplotlib畫圖,也是讀取本地Excel表格中的資料來畫圖,但是這個我們採用資料字典,可以統計Excel中的資料。而

Java中int和Integer的區別:int 是基本型別直接存數值 ;integer是物件一個引用指向這個物件

      int 是基本型別,直接存數值   integer是物件,用一個引用指向這個物件   1.Java 中的資料型別分為基本資料型別和複雜資料型別   int 是前者>>integer 是後者(也就是一個類)   2.初始化時>>   in

centos下ppt(pptx)檔案轉換為pdf檔案PHP顯示內容

1、搭建jdk環境,這裡不詳細介紹。 2、安裝OpenOffice    OpenOffice下載地址http://softlayer-dal.dl.sourceforge.net/project/openofficeorg.mirror/4.0.0/binaries/zh-CN/Apache_OpenOff

python中用rdflib生成rdfsparql查詢

接下來,上我的程式碼~ 其實,根據三元組的模式 # coding:utf-8 import rdflib def create(): g = rdflib.Graph() has_border_with = rdflib.URIRef

發現一波黒帽seo神操作通過百度打開跳廣告其他方式訪問正常。下面分析原理。

排名 javascrip 別人 訪問 廣告 簡單 方式 jsonp onload 朋友網站被黑了,但是不是低級黑,雖然最後發現原理很簡單,但是對於普通seo來說還是有些奇妙哦。而且不影響收錄和排名,站長只管優化,黒帽偷偷得利! 情況是在百度打開收錄的頁面,打開後,會跳到別人

List集合練習題 完成getAllDog 方法從一個Animal集合中挑選出所有的Dog物件並把這些物件 放在一個Dog 集合中返回。

package cn.sc.test; import java.util.ArrayList; import java.util.List; public class TestAnimal { public static void main(String[] args) { List

js基礎梳理-究竟什麼是變數物件什麼是活動物件

首先,回顧下上篇博文中js基礎梳理-究竟什麼是執行上下文棧(執行棧),執行上下文(可執行程式碼)?的執行上下文的生命週期: 3.執行上下文的生命週期 3.1 建立階段 生成變數物件(Variable object, VO) 建立作用域鏈(Scope chain) 確定thi

(多型問題)從一個Animal陣列中挑選出所有的Dog物件並把這些物件放在一個Dog陣列中返回

package com.day11_1; import java.util.*; public class Test9 { public static void main(String[] args) { Animal[] as = {

window物件navigator物件document文件物件以及window下的其他物件

Window物件 屬性 innerHeight                     &n

Java筆記:[反射篇] 利用反射獲取類中的私有內部類物件並呼叫該物件的方法

public void smoothScrollBy(int dx, int dy, int duration) { try { Class<?> c = null; try { c = Class

再見了Server物件擁抱IHostingEnvironment服務物件(.net core)

一、絕對路徑 1、獲取應用程式運行當前目錄Directory.GetCurrentDirectory()。 System.IO名稱空間中存在Directory類,提供了獲取應用程式運行當前目錄的靜態方法GetCurrentDirectory, 但根據.net core的設計,此方法不是真正的獲取應用程式

判斷陣列物件中是否包含某個物件判斷2個物件是否相等

var arr =[ {name:'zhangsan'}, {name:'lisi'}, {name:'wangwu'} ]; var json1 = {name:"zhangsan"}; // 方法一:(相容ie8) console.log(JSON.stri