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在hadoop上跑起来
Jan 27 Python
python中的计时器timeit的使用方法
Oct 20 Python
Python实现简单网页图片抓取完整代码实例
Dec 15 Python
详解PyTorch批训练及优化器比较
Apr 28 Python
python2和python3的输入和输出区别介绍
Nov 20 Python
解决使用PyCharm时无法启动控制台的问题
Jan 19 Python
Python 中PyQt5 点击主窗口弹出另一个窗口的实现方法
Jul 04 Python
python OpenCV GrabCut使用实例解析
Nov 11 Python
python爬虫开发之PyQuery模块详细使用方法与实例全解
Mar 09 Python
使用Python画了一棵圣诞树的实例代码
Nov 27 Python
Python-OpenCV教程之图像的位运算详解
Jun 21 Python
用Python爬取英雄联盟的皮肤详细示例
Dec 06 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
玩转图像函数库―常见图形操作
2006/09/03 PHP
PHP 杂谈《重构-改善既有代码的设计》之五 简化函数调用
2012/05/07 PHP
php单一接口的实现方法
2015/06/20 PHP
Laravel框架实现发送短信验证功能代码
2016/06/06 PHP
在laravel框架中使用model层的方法
2019/10/08 PHP
javascript编程起步(第六课)
2007/02/27 Javascript
jquery模拟LCD 时钟的html文件源代码
2014/06/16 Javascript
PHP和NodeJs开发的应用如何共用Session
2015/04/16 NodeJs
jQuery Easyui学习教程之实现datagrid在没有数据时显示相关提示内容
2016/07/09 Javascript
canvas绘制的直线动画
2017/01/23 Javascript
Angularjs中使用指令绑定点击事件的方法
2017/03/30 Javascript
浅谈webpack打包生成的bundle.js文件过大的问题
2018/02/22 Javascript
nodejs实现解析xml字符串为对象的方法示例
2018/03/14 NodeJs
Jquery异步上传文件代码实例
2019/11/13 jQuery
vue实现微信浏览器左上角返回按钮拦截功能
2020/01/18 Javascript
vue中js判断长时间不操作界面自动退出登录(推荐)
2020/01/22 Javascript
微信小程序开发(一):服务器获取数据列表渲染操作示例
2020/06/01 Javascript
VUE 实现element upload上传图片到阿里云
2020/08/12 Javascript
Swiper实现导航栏滚动效果
2020/10/16 Javascript
原生js实现俄罗斯方块
2020/10/20 Javascript
[49:05]Newbee vs TNC 2018国际邀请赛小组赛BO2 第一场 8.16
2018/08/17 DOTA
Python实现的批量下载RFC文档
2015/03/10 Python
Ruby元编程基础学习笔记整理
2016/07/02 Python
python的继承知识点总结
2018/12/10 Python
使用python代码进行身份证号校验的实现示例
2019/11/21 Python
Pytorch自定义Dataset和DataLoader去除不存在和空数据的操作
2021/03/03 Python
澳大利亚自然和有机的健康美容产品一站式商店:Ziani Beauty
2017/12/28 全球购物
2014乡镇“三八”国际劳动妇女节活动总结
2014/03/01 职场文书
西式结婚主持词
2014/03/14 职场文书
拉拉队口号
2014/06/16 职场文书
就业协议书
2014/09/12 职场文书
公司年会晚会开幕词
2019/04/02 职场文书
Python中json.load()和json.loads()有哪些区别
2021/06/07 Python
解决mysql问题:由于找不到MSVCR120.dll,无法继续执行代码
2021/06/26 MySQL
Java面试题冲刺第十八天--Spring框架3
2021/08/07 面试题
MySQL数据库查询之多表查询总结
2022/08/05 MySQL