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实现二维码扫码自动登录淘宝
Dec 27 Python
Python学习笔记之if语句的使用示例
Oct 23 Python
Python和Java进行DES加密和解密的实例
Jan 09 Python
python 用lambda函数替换for循环的方法
Jun 09 Python
Python设计模式之观察者模式原理与用法详解
Jan 16 Python
Django实现跨域的2种方法
Jul 31 Python
python实现通过flask和前端进行数据收发
Aug 22 Python
Python类中的装饰器在当前类中的声明与调用详解
Apr 15 Python
Python参数传递实现过程及原理详解
May 14 Python
python 最简单的实现适配器设计模式的示例
Jun 30 Python
Python如何导出导入所有依赖包详解
Jun 08 Python
Flask使用SQLAlchemy实现持久化数据
Jul 16 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
PHP编码转换函数 自动转换字符集支持数组转换
2012/12/16 PHP
ThinkPHP结合ajax、Mysql实现的客户端通信功能代码示例
2014/06/23 PHP
php构造函数的继承方法
2015/02/09 PHP
php实现搜索一维数组元素并删除二维数组对应元素的方法
2015/07/06 PHP
php单例模式的简单实现方法
2016/06/10 PHP
详解php中serialize()和unserialize()函数
2017/07/08 PHP
javascript getElementsByName()的用法说明
2009/07/31 Javascript
javascript将异步校验表单改写为同步表单
2015/01/27 Javascript
使用jQuery实现Web页面换肤功能的要点解析
2016/05/12 Javascript
jQuery hover事件简单实现同时绑定2个方法
2016/06/07 Javascript
用js动态添加html元素,以及属性的简单实例
2016/07/19 Javascript
js 基础篇必看(点击事件轮播图的简单实现)
2016/08/20 Javascript
jquery实现左右滑动式轮播图
2017/03/02 Javascript
探索webpack模块及webpack3新特性
2017/09/18 Javascript
使用JS中的Replace()方法遇到的问题小结
2017/10/20 Javascript
微信小程序列表渲染功能之列表下拉刷新及上拉加载的实现方法分析
2017/11/27 Javascript
jQuery实现使用sort方法对json数据排序的方法
2018/04/17 jQuery
angularjs http与后台交互的实现示例
2018/12/21 Javascript
vue中上传视频或图片或图片和文字一起到后端的解决方法
2019/12/01 Javascript
javascript实现简单搜索功能
2020/03/26 Javascript
[01:02:20]Mineski vs TNC 2019国际邀请赛小组赛 BO2 第二场 8.15
2019/08/16 DOTA
浅谈python正则的常用方法 覆盖范围70%以上
2018/03/14 Python
django-allauth入门学习和使用详解
2019/07/03 Python
解决python中用matplotlib画多幅图时出现图形部分重叠的问题
2019/07/07 Python
django 多数据库及分库实现方式
2020/04/01 Python
python 录制系统声音的示例
2020/12/21 Python
CSS3 实现穿梭星空动画
2020/11/13 HTML / CSS
文员个人求职自荐信
2013/09/21 职场文书
优秀学生干部先进事迹材料
2014/05/26 职场文书
党员检讨书
2014/10/13 职场文书
2014年班组工作总结
2014/11/20 职场文书
2015年检验员工作总结范文
2015/04/30 职场文书
经营场所使用证明
2015/06/19 职场文书
大学生社会服务心得体会
2016/01/22 职场文书
五年级数学教学反思
2016/02/16 职场文书
opencv-python图像配准(匹配和叠加)的实现
2021/06/23 Python