Python转换字典成为对象,可以用"."方式访问对象属性实例


Posted in Python onMay 11, 2020

我就废话不多说了,大家还是直接看代码吧!

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] 字典 vars()函数:以字典类型提取对象的属性和属性值

功能

提取对象的属性和属性值,返回值为dictionary字典类型。

语法

vars(object)

实例

>>>print(vars())
{'__builtins__': <module '__builtin__' (built-in)>, '__name__': '__main__', '__doc__': None, '__package__': None}

>>> class Test:
...   a = 1
... 

>>> print(vars(Test))
{'a': 1, '__module__': '__main__', '__doc__': None}

>>> test = Test()
>>> print(vars(test))
{}

对于 x = 1,这样的一个赋值语句,我们在执行后,名称 x 引用到值 1。这就像字典一样,键引用值,当然,变量和所对应的值用的是个"不可见"的字典。我们可以使用 vars() 函数来返回这个字典:

>>> x = 1
>>> scope = vars()
>>> scope["x"]
1

以上这篇Python转换字典成为对象,可以用"."方式访问对象属性实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python利用elaphe制作二维条形码实现代码
May 25 Python
python实现排序算法
Feb 14 Python
Python中__new__与__init__方法的区别详解
May 04 Python
python 通过字符串调用对象属性或方法的实例讲解
Apr 21 Python
python利用微信公众号实现报警功能
Jun 10 Python
对python中数组的del,remove,pop区别详解
Nov 07 Python
python 实现在tkinter中动态显示label图片的方法
Jun 13 Python
python列表每个元素同增同减和列表元素去空格的实例
Jul 20 Python
pywinauto自动化操作记事本
Aug 26 Python
numpy:np.newaxis 实现将行向量转换成列向量
Nov 30 Python
python 如何调用远程接口
Sep 11 Python
Python QT组件库qtwidgets的使用
Nov 02 Python
Python3自定义json逐层解析器代码
May 11 #Python
Python3自定义http/https请求拦截mitmproxy脚本实例
May 11 #Python
Python 找出出现次数超过数组长度一半的元素实例
May 11 #Python
Pycharm如何导入python文件及解决报错问题
May 10 #Python
python3.6环境下安装freetype库和基本使用方法(推荐)
May 10 #Python
Pycharm中安装wordcloud等库失败问题及终端通过pip安装的Python库如何添加到Pycharm解释器中(推荐)
May 10 #Python
python对接ihuyi实现短信验证码发送
May 10 #Python
You might like
php巧获服务器端信息
2006/12/06 PHP
PHP中Cookie的使用详解(简单易懂)
2017/04/28 PHP
PHP压缩图片功能的介绍
2019/03/21 PHP
php实现的顺序线性表示例
2019/05/04 PHP
PHP连续签到功能实现方法详解
2019/12/04 PHP
Jquery操作Select 简单方便 一个js插件搞定
2009/11/12 Javascript
js 显示base64编码的二进制流网页图片
2014/04/04 Javascript
jQuery中用dom操作替代正则表达式
2014/12/29 Javascript
jQuery mobile在页面加载时添加加载中效果 document.ready 和window.onload执行顺序比较
2016/07/14 Javascript
jquery插入兄弟节点的操作方法
2016/12/07 Javascript
vue.js单页面应用实例的简单实现
2017/04/10 Javascript
JS+Ajax实现百度智能搜索框
2017/08/04 Javascript
javascript 产生随机数的几种方法总结
2017/09/26 Javascript
微信小程序使用websocket通讯的demo,含前后端代码,亲测可用
2019/05/22 Javascript
JS实现判断数组是否包含某个元素示例
2019/05/24 Javascript
[01:04:20]完美世界DOTA2联赛PWL S2 LBZS vs Forest 第一场 11.29
2020/12/02 DOTA
详解Python的Flask框架中的signals信号机制
2016/06/13 Python
对python中的pop函数和append函数详解
2018/05/04 Python
Pandas 合并多个Dataframe(merge,concat)的方法
2018/06/08 Python
python处理大日志文件
2019/07/23 Python
解决Django后台ManyToManyField显示成Object的问题
2019/08/09 Python
python求绝对值的三种方法小结
2019/12/04 Python
python psutil监控进程实例
2019/12/17 Python
如何在scrapy中捕获并处理各种异常
2020/09/28 Python
大众服装店创业计划书范文
2014/01/01 职场文书
电脑饰品店的创业计划书
2014/01/21 职场文书
医院总经理岗位职责
2014/02/04 职场文书
最新结婚典礼主持词
2014/03/14 职场文书
亲子阅读的活动方案
2014/08/15 职场文书
农村优秀教师事迹材料
2014/08/27 职场文书
2014财务年终工作总结
2014/12/08 职场文书
比赛主持人开场白
2015/05/29 职场文书
夏洛特的网观后感
2015/06/15 职场文书
教你使用Python pypinyin库实现汉字转拼音
2021/05/27 Python
使用Redis实现点赞取消点赞的详细代码
2022/03/20 Redis
华为HarmonyOS3.0强在哪? 看看鸿蒙3.0这7个小功能
2023/01/09 数码科技