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实现文件分组复制到不同目录的例子
Jun 04 Python
使用Python实现windows下的抓包与解析
Jan 15 Python
Django自定义用户认证示例详解
Mar 14 Python
python可视化实现代码
Jan 15 Python
Flask框架踩坑之ajax跨域请求实现
Feb 22 Python
Python实现插入排序和选择排序的方法
May 12 Python
下载官网python并安装的步骤详解
Oct 12 Python
pytorch的batch normalize使用详解
Jan 15 Python
Python自动化xpath实现自动抢票抢货
Sep 19 Python
python 利用opencv实现图像网络传输
Nov 12 Python
python 制作本地应用搜索工具
Feb 27 Python
python和anaconda的区别
May 06 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伪造referer突破网盘禁止外连的代码
2008/06/15 PHP
php生成局部唯一识别码LUID的代码
2012/10/06 PHP
PHP strstr 函数判断字符串是否否存在的实例代码
2013/09/28 PHP
PHP取余函数介绍MOD(x,y)与x%y
2014/05/15 PHP
php使用GeoIP库实例
2014/06/27 PHP
PHP面向对象程序设计实例分析
2016/01/26 PHP
Yii2简单实现多语言配置的方法
2016/07/23 PHP
artDialog 4.1.5 Dreamweaver代码提示/补全插件 附下载
2012/07/31 Javascript
javascript实现多级联动下拉菜单的方法
2015/02/06 Javascript
bootstrap table 服务器端分页例子分享
2015/02/10 Javascript
jQuery中 prop() attr()使用详解
2015/05/19 Javascript
javascript弹出窗口中增加确定取消按钮
2016/06/24 Javascript
AngularJS自定义服务与fliter的混合使用
2016/11/24 Javascript
angularJS深拷贝详解
2017/03/23 Javascript
Angular使用Md5加密的解决方法
2017/09/16 Javascript
vue组件watch属性实例讲解
2017/11/07 Javascript
bootstrap datepicker的基本使用教程
2019/07/09 Javascript
Js通过AES加密后PHP用Openssl解密的方法
2019/07/12 Javascript
[03:38]TI4西雅图DOTA2前线报道 71专访
2014/07/08 DOTA
[00:34]TI7不朽珍藏III——纯金地穴编织者饰品展示
2017/07/15 DOTA
使用pyecharts生成Echarts网页的实例
2019/08/12 Python
Pandas DataFrame中的tuple元素遍历的实现
2019/10/23 Python
Python基于paramunittest模块实现excl参数化
2020/04/26 Python
python里的单引号和双引号的有什么作用
2020/06/17 Python
golang/python实现归并排序实例代码
2020/08/30 Python
应届生煤化工求职信
2013/10/21 职场文书
编辑硕士自荐信范文
2013/11/27 职场文书
商务会议邀请函
2014/01/09 职场文书
实习鉴定评语
2014/01/19 职场文书
国庆65周年演讲稿:回首往昔,展望未来
2014/09/21 职场文书
2014年预备党员群众路线教育实践活动对照检查材料思想汇报
2014/10/02 职场文书
2015教师年度考核评语
2015/03/25 职场文书
同步小康驻村工作简报
2015/07/20 职场文书
优秀毕业生主要事迹材料
2015/11/04 职场文书
世界十大狙击步枪排行榜
2022/03/20 杂记
Mysql数据库事务的脏读幻读及不可重复读详解
2022/05/30 MySQL