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时发现这种用法的,在网上没搜到方法,看其源码找到的这个方法。



发布了32 篇原创文章 · 获赞 10 · 访问量 5万+

猜你喜欢

转载自blog.csdn.net/jiangxiaoma111/article/details/39212835