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计算程序开始到程序结束的运行时间和程序运行的CPU时间
Nov 28 Python
总结用Pdb库调试Python的方式及常用的命令
Aug 18 Python
python 文件操作api(文件操作函数)
Aug 28 Python
python 从csv读数据到mysql的实例
Jun 21 Python
Python3.5 Pandas模块缺失值处理和层次索引实例详解
Apr 23 Python
python 机器学习之支持向量机非线性回归SVR模型
Jun 26 Python
对django2.0 关联表的必填on_delete参数的含义解析
Aug 09 Python
python读取word 中指定位置的表格及表格数据
Oct 23 Python
python 字符串格式化的示例
Sep 21 Python
Django一小时写出账号密码管理系统
Apr 29 Python
教你怎么用Python selenium操作浏览器对象的基础API
Jun 23 Python
Python实现数据的序列化操作详解
Jul 07 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&amp;&amp;mysql)一
2006/10/09 PHP
Zend Guard一些常见问题解答
2008/09/11 PHP
PHP中多维数组的foreach遍历示例
2014/06/13 PHP
php 猴子摘桃的算法
2017/06/20 PHP
laravel-admin解决表单select联动时,编辑默认没选上的问题
2019/09/30 PHP
使用tp框架和SQL语句查询数据表中的某字段包含某值
2019/10/18 PHP
javascript或asp实现的判断身份证号码是否正确两种验证方法
2009/11/26 Javascript
jquery选择器(常用选择器说明)
2010/09/28 Javascript
javascript自启动函数的问题探讨
2013/10/05 Javascript
jQuery中:checkbox选择器用法实例
2015/01/03 Javascript
JavaScript 实现完美兼容多浏览器的复制功能代码
2015/04/28 Javascript
jquery自适应布局的简单实例
2016/05/28 Javascript
jQuery插件FusionCharts绘制2D柱状图和折线图的组合图效果示例【附demo源码】
2017/04/10 jQuery
Agularjs妙用双向数据绑定实现手风琴效果
2017/05/26 Javascript
JS实现的简单表单验证功能示例
2017/10/13 Javascript
vue2.0 可折叠列表 v-for循环展示的实例
2018/09/07 Javascript
vue总线机制(bus)知识点详解
2020/05/10 Javascript
vue iview实现动态新增和删除
2020/06/17 Javascript
Vue前端判断数据对象是否为空的实例
2020/09/02 Javascript
element中Steps步骤条和Tabs标签页关联的解决
2020/12/08 Javascript
深入理解python中的atexit模块
2017/03/07 Python
Python正则表达式分组概念与用法详解
2017/06/24 Python
Python实现mysql数据库更新表数据接口的功能
2017/11/19 Python
Python实现的本地文件搜索功能示例【测试可用】
2018/05/30 Python
Python对CSV、Excel、txt、dat文件的处理
2018/09/18 Python
Python下简易的单例模式详解
2019/04/08 Python
python实现ping命令小程序
2020/12/28 Python
欧洲当代手工玻璃和瓷器的领先品牌:LSA International
2018/06/03 全球购物
CheapTickets泰国:廉价航班,查看促销价格并预订机票
2019/12/28 全球购物
艺术设计专业毕业生推荐信
2014/07/08 职场文书
观看禁毒宣传片后的感想
2015/08/11 职场文书
2016廉洁教育心得体会
2016/01/20 职场文书
高一作文之乐趣
2019/11/21 职场文书
go xorm框架的使用
2021/05/22 Golang
MySQL 常见的数据表设计误区汇总
2021/06/07 MySQL
关于vue-router-link选择样式设置
2022/04/30 Vue.js