Python转换字典成为对象,可以用"."方式访问对象属性实例

作者:**华 时间:2021-06-01 09:01:50 

我就废话不多说了,大家还是直接看代码吧!


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

来源:https://blog.csdn.net/u010870545/article/details/82771669

标签:Python,转换,字典,对象
0
投稿

猜你喜欢

  • django跳转页面传参的实现

    2022-01-23 00:56:55
  • PHP字典树(Trie树)定义与实现方法示例

    2023-11-15 00:39:50
  • CentOS 安装redis和MySQL

    2024-01-20 16:05:21
  • 快速解决Golang Map 并发读写安全的问题

    2024-04-30 10:03:46
  • MySQL中SQL的单字节注入与宽字节注入

    2009-03-25 14:49:00
  • MySQL中把varchar类型转为date类型方法详解

    2024-01-27 03:15:01
  • Python unittest discover批量执行代码实例

    2023-08-14 14:05:37
  • Python解析命令行读取参数之argparse模块

    2021-12-17 22:15:32
  • python文件目录操作之os模块

    2023-01-10 14:22:59
  • Linux RedHat下安装Python2.7开发环境

    2021-01-10 17:33:29
  • Python实现使用dir获取类的方法列表

    2023-01-04 12:18:44
  • 怎样修改 MySQL数据库中的密码

    2008-11-27 15:35:00
  • python机器学习GCN图卷积神经网络原理解析

    2022-09-29 06:36:14
  • Django静态资源部署404问题解决方案

    2021-05-20 21:28:46
  • python打包成so文件过程解析

    2022-03-19 18:08:46
  • JavaScript导出Excel实例详解

    2023-09-06 15:51:27
  • Python-typing: 类型标注与支持 Any类型详解

    2023-10-15 19:40:43
  • Win定时任务执行php脚本

    2024-05-06 10:07:55
  • 微信小程序自定义导航教程(兼容各种手机)

    2024-04-30 09:53:12
  • Python爬虫Xpath定位数据的两种方法

    2022-07-03 16:36:53
  • asp之家 网络编程 m.aspxhome.com