python中将普通对象作为 字典类(dict) 使用

目前我知道的有两种方法:

1 定义的类继承dict类

例如

class A(dict): pass

a = A()

a[‘name‘] = 12

2 给自定义的类添加 

__setitem__() __getitem__()方法

class A:
	def __init__(self, cfg={}):
		<strong><span style="color:#ff0000;">self.cfg = cfg</span></strong>
	def __setitem__(self, key, value):
		<span style="color:#ff0000;">self.cfg[key] = value</span>
	def __getitem__(self, key):
		<span style="color:#ff0000;">return self.cfg[key]</span>
a = A()
a['b'] = 2
print(a['b'])
输出:
2
[Finished in 0.0s]
也就是给类添加个字典类对象,将 key,value 存储到这个里面。

通过这两种方法我们都可以将普通对象像 字典类对象一样使用。

第二种方法是在学习 tkinter时发现这种用法的,在网上没搜到方法,看其源码找到的这个方法。



郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。