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检测服务器是否正常
Feb 16 Python
python3生成随机数实例
Oct 20 Python
python函数装饰器用法实例详解
Jun 04 Python
python3+PyQt5实现柱状图
Apr 24 Python
OpenCV2从摄像头获取帧并写入视频文件的方法
Aug 03 Python
Python实现的读取/更改/写入xml文件操作示例
Aug 30 Python
python利用ffmpeg进行录制屏幕的方法
Jan 10 Python
PyQt5显示GIF图片的方法
Jun 17 Python
python实现月食效果实例代码
Jun 18 Python
python opencv实现gif图片分解的示例代码
Dec 13 Python
python GUI库图形界面开发之PyQt5开发环境配置与基础使用
Feb 25 Python
Jupyter Notebook内使用argparse报错的解决方案
Jun 03 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-Fcgi下PHP的执行时间设置方法
2013/08/02 PHP
开源php中文分词系统SCWS安装和使用实例
2014/04/11 PHP
PHP在同一域名下两个不同的项目做独立登录机制详解
2017/09/22 PHP
PHP htmlspecialchars()函数用法与实例讲解
2019/03/08 PHP
javascript 面向对象的JavaScript类
2010/05/04 Javascript
你可能不知道的JavaScript的new Function()方法
2014/04/17 Javascript
Position属性之relative用法
2015/12/14 Javascript
深入理解js promise chain
2016/05/05 Javascript
BootstrapTable与KnockoutJS相结合实现增删改查功能【一】
2016/05/10 Javascript
jsTree使用记录实例
2016/12/01 Javascript
深入理解Vue 的条件渲染和列表渲染
2017/09/01 Javascript
mescroll.js上拉加载下拉刷新组件使用详解
2017/11/13 Javascript
关于express与koa的使用对比详解
2018/01/25 Javascript
JavaScript累加、迭代、穷举、递归等常用算法实例小结
2018/05/08 Javascript
vue的keep-alive中使用EventBus的方法
2019/04/23 Javascript
JavaScript 面向对象基础简单示例
2019/10/02 Javascript
Nuxt v-bind绑定img src不显示的解决
2019/12/05 Javascript
Python数据结构之哈夫曼树定义与使用方法示例
2018/04/22 Python
浅谈python中字典append 到list 后值的改变问题
2018/05/04 Python
在Python文件中指定Python解释器的方法
2019/02/18 Python
python实现字符串加密成纯数字
2019/03/19 Python
keras slice layer 层实现方式
2020/06/11 Python
利用django创建一个简易的博客网站的示例
2020/09/29 Python
python中的split、rsplit、splitlines用法说明
2020/10/23 Python
CSS3 圆角效果
2009/07/15 HTML / CSS
HTML5触摸事件演化tap事件介绍
2016/03/25 HTML / CSS
Shopee菲律宾:在线购买和出售
2019/11/25 全球购物
this关键字的作用
2016/01/30 面试题
2014年小学植树节活动方案
2014/03/02 职场文书
大二学习计划书范文
2014/04/27 职场文书
合伙购房协议样本
2014/10/06 职场文书
2015年护士工作总结范文
2015/03/31 职场文书
创业计划书之校园超市
2019/09/12 职场文书
七年级作文之雪景
2019/11/18 职场文书
CSS 实现Chrome标签栏的技巧
2021/08/04 HTML / CSS
Python OpenGL基本配置方式
2022/05/20 Python