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 相关文章推荐
python2.7删除文件夹和删除文件代码实例
Dec 18 Python
python回调函数的使用方法
Jan 23 Python
Python实现基于HTTP文件传输实例
Nov 08 Python
python中nan与inf转为特定数字方法示例
May 11 Python
Python基于QRCode实现生成二维码的方法【下载,安装,调用等】
Jul 11 Python
Python实现字典排序、按照list中字典的某个key排序的方法示例
Dec 18 Python
python 遍历列表提取下标和值的实例
Dec 25 Python
Pycharm运行加载文本出现错误的解决方法
Jun 27 Python
Pandas DataFrame中的tuple元素遍历的实现
Oct 23 Python
细数nn.BCELoss与nn.CrossEntropyLoss的区别
Feb 29 Python
68行Python代码实现带难度升级的贪吃蛇
Jan 18 Python
python playwright之元素定位示例详解
Jul 23 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
mysql5详细安装教程
2007/01/15 PHP
IStream与TStream之间的相互转换
2008/08/01 PHP
PHP编程获取各个时间段具体时间的方法
2017/05/26 PHP
Laravel 实现关系模型取出需要的字段
2019/10/10 PHP
ExtJS 2.0 实用简明教程之布局概述
2009/04/29 Javascript
获取下拉列表框的值是数组,split,$.inArray示例
2013/11/13 Javascript
javascript 用函数语句和表达式定义函数的区别详解
2014/01/06 Javascript
Jquery日期选择datepicker插件用法实例分析
2015/06/08 Javascript
Clipboard.js 无需Flash的JavaScript复制粘贴库
2015/10/02 Javascript
jQuery实现div随意拖动的实例代码(通用代码)
2016/01/28 Javascript
AngularJS轻松实现双击排序的功能
2016/08/30 Javascript
使用BootStrap和Metroui设计的metro风格微网站或手机app界面
2016/10/21 Javascript
ES6新数据结构Map功能与用法示例
2017/03/31 Javascript
小程序组件之自定义顶部导航实例
2019/06/12 Javascript
node.js express捕获全局异常的三种方法实例分析
2019/12/27 Javascript
vue-cli或vue项目利用HBuilder打包成移动端app操作
2020/07/29 Javascript
解决vue使用vant下拉框van-dropdown-item 绑定title值不变问题
2020/08/05 Javascript
[28:07]完美世界DOTA2联赛PWL S3 Phoenix vs INK ICE 第二场 12.13
2020/12/17 DOTA
python操作摄像头截图实现远程监控的例子
2014/03/25 Python
python执行get提交的方法
2015/04/29 Python
使用Python的Django和layim实现即时通讯的方法
2018/05/25 Python
PyQt5通信机制 信号与槽详解
2019/08/07 Python
python通过文本在一个图中画多条线的实例
2020/02/21 Python
Python3 selenium 实现QQ群接龙自动化功能
2020/04/17 Python
Python内置方法和属性应用:反射和单例(推荐)
2020/06/19 Python
Python+OpenCV检测灯光亮点的实现方法
2020/11/02 Python
使用HTML5加载音频和视频的实现代码
2020/11/30 HTML / CSS
英国最大的在线蜡烛商店:Candles Direct
2019/03/26 全球购物
写出程序把一个链表中的接点顺序倒排
2014/04/28 面试题
学校安全责任书
2014/04/14 职场文书
义务教育学校标准化建设汇报材料
2014/08/16 职场文书
狼牙山五壮士观后感
2015/06/09 职场文书
研究生学习计划书应该怎么写?
2019/09/10 职场文书
Vue3.0写自定义指令的简单步骤记录
2021/06/27 Vue.js
Python pandas求方差和标准差的方法实例
2021/08/04 Python
JS前端监控采集用户行为的N种姿势
2022/07/23 Javascript