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,转换,字典,对象
![](/images/zang.png)
![](/images/jiucuo.png)
猜你喜欢
Pycharm2022最新版无法换源解决方法
2023-02-09 20:51:55
![](https://img.aspxhome.com/file/2023/8/78448_0s.jpg)
特殊字符、常规符号及其代码对照表
2010-08-24 18:13:00
![](https://img.aspxhome.com/file/UploadPic/20108/24/2010824181910416s.jpg)
golang中值类型/指针类型的变量区别总结
2023-09-02 15:07:11
python中import与from方法总结(推荐)
2021-12-19 12:31:06
JavaScript 日期联动选择器
2010-08-01 10:18:00
text-indent 隐藏文字时出现的 outline问题
2007-12-02 17:31:00
Python冲顶大会 快来答题!
2022-05-27 08:10:56
基于Python实现文件分类器的示例代码
2023-06-02 12:49:10
![](https://img.aspxhome.com/file/2023/9/90279_0s.png)
asp如何用SA-FileUp上传多个文件?
2010-06-13 14:34:00
asp解决防止表单重复提交的方法
2007-10-19 18:40:00
Python实现调用另一个路径下py文件中的函数方法总结
2021-05-24 12:48:03
![](https://img.aspxhome.com/file/2023/1/67271_0s.png)
网站tab导航的设计
2008-11-10 12:36:00
![](https://img.aspxhome.com/file/UploadPic/200811/10/tab1-53s.jpg)
利用Python进行图像的加法,图像混合(附代码)
2021-06-22 20:28:44
![](https://img.aspxhome.com/file/2023/6/86466_0s.gif)
python实现计算器功能
2021-02-06 09:45:23
![](https://img.aspxhome.com/file/2023/2/86612_0s.jpg)
Python+OpenCV实现六种常用图像特效
2023-08-02 10:01:43
![](https://img.aspxhome.com/file/2023/5/61965_0s.jpg)
Python Matplotlib绘制箱线图boxplot()函数详解
2021-03-09 11:16:07
![](https://img.aspxhome.com/file/2023/2/97222_0s.png)
oracle中110个常用函数介绍
2023-07-09 03:46:20
python使用smtplib模块发送邮件
2023-05-16 22:25:38
![](https://img.aspxhome.com/file/2023/7/87897_0s.jpg)
检测远程文件是否存在
2009-06-22 13:00:00
asp如何用数据库制作一个多用户版的计数器?
2010-06-16 09:51:00