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

yipeiwu_com6年前Python基础

本文实例讲述了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 //www.jb51.net
print(d.foo)
# AttributeError: 'DottableDict' object has no attribute 'foo'

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

相关文章

python获取指定字符串中重复模式最高的字符串方法

给定一个字符串,如何得到其中重复模式最高的子字符串,我采用的方法是使用滑窗机制,对给定的字符串切分,窗口的大小从1增加到字符串长度减1,将所有的得到的切片统计结果,在这里不考虑单个字符的...

Python字符串处理的8招秘籍(小结)

Python的字符串处理,在爬虫的数据解析、大数据的文本清洗,以及普通文件处理等方面应用非常广泛,而且Python对字符串的处理内置了很多高效的函数,功能非常强大、使用非常方便。今天我就...

Python之py2exe打包工具详解

下载Python对应版本的py2exe,使用这个工具可以将自己的程序打包成exe文件。 使用这个工具需要写一个用于打包的setup.py文件(名称可以自己定,不一定是setup.py),...

Python操作MySQL数据库的两种方式实例分析【pymysql和pandas】

Python操作MySQL数据库的两种方式实例分析【pymysql和pandas】

本文实例讲述了Python操作MySQL数据库的两种方式。分享给大家供大家参考,具体如下: 第一种 使用pymysql 代码如下: import pymysql #打开数据库连接 d...

python获取外网IP并发邮件的实现方法

第一步:通过ip138来爬取外网ip 第二步:通过python的smtplib模块和email来发送邮件,具体用法去网上搜索, 下面是代码示例: #!/usr/bin/env pyt...