python使用点操作符访问字典(dict)数据的方法


Posted in Python onMarch 16, 2015

本文实例讲述了python使用点操作符访问字典(dict)数据的方法。分享给大家供大家参考。具体分析如下:

平时访问字典使用类似于:dict['name']的方式,如果能通过dict.name的方式访问会更方便,下面的代码自定义了一个类提供了这种方法。

class DottableDict(dict):
  def __init__(self, *args, **kwargs):
    dict.__init__(self, *args, **kwargs)
    self.__dict__ = self
  def allowDotting(self, state=True):
    if state:
      self.__dict__ = self
    else:
      self.__dict__ = dict()
d = DottableDict()
d.allowDotting()
d.foo = 'bar'
print(d['foo'])
# bar
print(d.foo)
# bar
d.allowDotting(state=False)
print(d['foo'])
# bar from https://3water.com
print(d.foo)
# AttributeError: 'DottableDict' object has no attribute 'foo'

希望本文所述对大家的Python程序设计有所帮助。

Python 相关文章推荐
python使用webbrowser浏览指定url的方法
Apr 04 Python
Python中线程的MQ消息队列实现以及消息队列的优点解析
Jun 29 Python
Linux 下 Python 实现按任意键退出的实现方法
Sep 25 Python
利用python爬取散文网的文章实例教程
Jun 18 Python
深入浅出分析Python装饰器用法
Jul 28 Python
在python中实现对list求和及求积
Nov 14 Python
Django admin model 汉化显示文字的实现方法
Aug 12 Python
python爬虫豆瓣网的模拟登录实现
Aug 21 Python
python3应用windows api对后台程序窗口及桌面截图并保存的方法
Aug 27 Python
没编程基础可以学python吗
Jun 17 Python
通过代码实例解析Pytest运行流程
Aug 20 Python
详解Python中如何将数据存储为json格式的文件
Nov 18 Python
python用来获得图片exif信息的库实例分析
Mar 16 #Python
python通过pil模块获得图片exif信息的方法
Mar 16 #Python
使用Python抓取模板之家的CSS模板
Mar 16 #Python
Python实现竖排打印传单手机号码易撕条
Mar 16 #Python
python通过exifread模块获得图片exif信息的方法
Mar 16 #Python
python通过pil模块将raw图片转换成png图片的方法
Mar 16 #Python
python通过pil将图片转换成黑白效果的方法
Mar 16 #Python
You might like
PHP4在WinXP下IIS和Apache2服务器上的安装实例
2006/10/09 PHP
php 多个submit提交表单 处理方法
2009/07/07 PHP
PHP 安全检测代码片段(分享)
2013/07/05 PHP
对laravel in 查询的使用方法详解
2019/10/09 PHP
Thinkphp页面跳转设置跳转等待时间的操作
2019/10/16 PHP
PHP7移除的扩展和SAPI
2021/03/09 PHP
Javascript操纵Cookie实现购物车程序
2007/02/15 Javascript
jQuery实现切换字体大小的方法
2015/03/10 Javascript
Javascript实现计算个人所得税
2015/05/10 Javascript
EasyUi中的Combogrid 实现分页和动态搜索远程数据
2016/04/01 Javascript
基于jquery实现表格内容筛选功能实例解析
2016/05/09 Javascript
JavaScript 字符串数字左补位,右补位,取固定长度,截位扩展函数代码
2017/03/25 Javascript
angular2 ng build部署后base文件路径问题详细解答
2017/07/15 Javascript
vue.js实现只弹一次弹框
2018/01/29 Javascript
Nodejs让异步变成同步的方法
2019/03/02 NodeJs
JS实现给数组对象排序的方法分析
2019/06/24 Javascript
layui在form表单页面通过Validform加入简单验证的方法
2019/09/06 Javascript
详解为什么Vue中的v-if和v-for不建议一起用
2021/01/13 Vue.js
[01:59]游戏“zheng”当时试玩会
2019/08/21 DOTA
python 通过 socket 发送文件的实例代码
2018/08/14 Python
获取django框架orm query执行的sql语句实现方法分析
2019/06/20 Python
Python 多线程共享变量的实现示例
2020/04/17 Python
Pandas中DataFrame基本函数整理(小结)
2020/07/20 Python
Pytorch之Tensor和Numpy之间的转换的实现方法
2020/09/03 Python
Python实现自动整理文件的脚本
2020/12/17 Python
HTML5-WebSocket实现聊天室示例
2016/12/15 HTML / CSS
世界上最大的街头服饰网站:Karmaloop
2017/02/04 全球购物
请写出 float x 与"零值"比较的 if 语句
2016/01/04 面试题
十岁生日同学答谢词
2014/01/19 职场文书
总会计师岗位职责
2014/02/19 职场文书
优秀班主任申报材料
2014/12/16 职场文书
感谢信
2019/04/11 职场文书
canvas多重阴影发光效果实现
2021/04/20 Javascript
nginx容器方式反向代理实战
2022/04/18 Servers
微信小程序APP的生命周期及页面的生命周期
2022/04/19 Javascript
VUE递归树形实现多级列表
2022/07/15 Vue.js