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