Python如何创建一个只读字典

本篇内容主要讲解“Python如何创建一个只读字典”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Python如何创建一个只读字典”吧!

创新互联公司自2013年起,先为恒山等服务建站,恒山等地企业,进行企业商务咨询服务。为恒山企业网站制作PC+手机+微官网三网同步一站式服务解决您的所有建站问题。

我们知道,当我们向字典添加数据的时候:

a = {'name': 'kingname', 'salary': 99999} a['address'] = '上海'

当我们读取字典的时候,一般写作:

a['address']

所以在代码里面,确实存在一不小心把字典覆盖了的情况,例如:

is_rich_man = a['salary'] == 99999

正常情况下,is_rich_man应该等于 True 或者 False。但如果漏写了一个等号,变成:

is_rich_man = a['salary'] = 99999

那么,字典里面的数据就会被覆盖。但代码并不会报错,如下图所示:

Python如何创建一个只读字典

所以,我们是否有什么办法,实现一个一旦初始化,就不能修改的字典呢?

实际上 Python自带了这个功能,就是types.MappingProxyType。使用它,可以轻易实现一个不能修改的字典:

from types import MappingProxyType  info = {'name': 'kingname', 'salary': 99999} safe_info = MappingProxyType(info) print('kingname 的月薪是:', safe_info['salary']) safe_info['salary'] = 0

运行效果如下图所示:

Python如何创建一个只读字典

MappingProxyType像是挡在字典前面的一面盾牌,从前面是无法修改数据的,但是,如果你确实需要修改数据,那么你可以直接修改原始的字典,此时,修改会反映到  MappingProxyType 处理过的对象上面,如下图所示:

Python如何创建一个只读字典

到此,相信大家对“Python如何创建一个只读字典”有了更深的了解,不妨来实际操作一番吧!这里是创新互联网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!


网站栏目:Python如何创建一个只读字典
本文来源:http://hbruida.cn/article/pdjhhd.html