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去除所有html标签的方法
May 05 Python
python使用xmlrpclib模块实现对百度google的ping功能
Jun 02 Python
Python自动化运维_文件内容差异对比分析
Dec 13 Python
Python实现pdf文档转txt的方法示例
Jan 19 Python
Python查看微信撤回消息代码
Jun 07 Python
对Python w和w+权限的区别详解
Jan 23 Python
对DataFrame数据中的重复行,利用groupby累加合并的方法详解
Jan 30 Python
Python实现连接MySql数据库及增删改查操作详解
Apr 16 Python
Python面向对象总结及类与正则表达式详解
Apr 18 Python
Python爬虫:url中带字典列表参数的编码转换方法
Aug 21 Python
如何完美的建立一个python项目
Oct 09 Python
Python趣味挑战之给幼儿园弟弟生成1000道算术题
May 28 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 adodb连接不同数据库
2009/03/19 PHP
php中使用__autoload()自动加载未定义类的实现代码
2013/02/06 PHP
PHP简单实现生成txt文件到指定目录的方法
2016/04/25 PHP
PHP写的简单数字验证码实例
2017/05/23 PHP
JavaScript的Function详细
2006/11/14 Javascript
jQuery 点击图片跳转上一张或下一张功能的实现代码
2010/03/12 Javascript
扩展javascript的Date方法实现代码(prototype)
2010/11/20 Javascript
jQuery学习笔记之jQuery的事件
2010/12/22 Javascript
分析了一下JQuery中的extend方法实现原理
2015/02/27 Javascript
node.js-v6新版安装具体步骤(分享)
2017/09/06 Javascript
快速将Vue项目升级到webpack3的方法步骤
2017/09/14 Javascript
node实现生成带参数的小程序二维码并保存到本地功能示例
2018/12/05 Javascript
npm的lock机制解析
2019/06/20 Javascript
微信小程序自定义胶囊样式
2020/12/27 Javascript
[37:02]OG vs INfamous 2019国际邀请赛小组赛 BO2 第二场 8.15
2019/08/17 DOTA
pyqt4教程之实现windows窗口小示例分享
2014/03/07 Python
从Python程序中访问Java类的简单示例
2015/04/20 Python
pandas按若干个列的组合条件筛选数据的方法
2018/04/11 Python
python代码过长的换行方法
2018/07/19 Python
Python多线程threading模块用法实例分析
2019/05/22 Python
python2与python3爬虫中get与post对比解析
2019/09/18 Python
python3多线程知识点总结
2019/09/26 Python
Python元组 tuple的概念与基本操作详解【定义、创建、访问、计数、推导式等】
2019/10/30 Python
Scrapy框架介绍之Puppeteer渲染的使用
2020/06/19 Python
林清轩官方网站:山茶花润肤油开创者
2016/10/26 全球购物
英国领先的奢侈品零售商之一:CRUISE
2016/12/02 全球购物
servlet面试题
2012/08/20 面试题
介绍一下SOA和SOA的基本特征
2016/02/24 面试题
大学生自我鉴定范文
2013/12/28 职场文书
大学生的创业计划书就该这么写
2014/01/30 职场文书
名人演讲稿范文
2014/09/16 职场文书
领导干部“四风”查摆问题个人整改措施
2014/10/28 职场文书
给上级领导的感谢信
2015/01/22 职场文书
商场广播稿范文
2015/08/19 职场文书
Windows Server 2016 配置 IIS 的详细步骤
2022/04/28 Servers
详解Mysq MVCC多版本的并发控制
2022/04/29 MySQL