Python——MappingProxyType字典只读封装

有时候我们也会需要 不可变的字典类型,从Python 3.3开始,types模块中引入了一个封装类名叫做MappingProxyType,它就可以做到这一点。

MappingProxyType可以对一个字典进行只读映射,我们无法对该映射进行任何修改,但是原始字典的任何改动都会同步更新到该映射上。

>>>from types import MappingProxyType
>>>d = {
    
    1:'A'}
>>>d_proxy = MappingProxyType(d)    
>>>d_proxy
mappingproxy({
    
    1:'A'})

>>>d_proxy[1]         #可以通过该映射只读访问字典
'A'
>>>d_proxy[2] = 'x'    #不允许通过该映射修改字典
Error

>>>d[2] = 'B'  		   #原始字典修改后,该映射同步修改
>>>d_proxy
mappingproxy({
    
    1:'A', 2:'B'})
>>>d_proxy[2]
'B'

猜你喜欢

转载自blog.csdn.net/ewfwewef/article/details/108761631