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网络编程中urllib2模块的用法总结

Python网络编程中urllib2模块的用法总结

一、最基础的应用 import urllib2 url = r'http://www.baidu.com' html = urllib2.urlopen(url).read()...

python 返回列表中某个值的索引方法

如下所示: list = [5,6,7,9,1,4,3,2,10] list.index(9) out:3 同时可以返回列表中最大值的索引list.index(max(lis...

Python 修改列表中的元素方法

Python 修改列表中的元素方法

如下所示: #打印列表文件 def show_magicians(magics) : for magic in magics : print(magic) #修改列表文件...

Python选择网卡发包及接收数据包

当一台计算机上有多个网卡时,需要选择对应IP地址的网卡进行发送数据包或者接受数据包。 1、选择网卡发包(应用scapy): plface=conf.route.route("××.×...

Python利用字典破解WIFI密码的方法

最近看到网上的一些作品,然后进行一些完善。只是用于学习,不要去干坏事哦。程序来源于网,我只是做了一些优化。当然这种方法破解还是有点慢哦。我用的python 3.6.5 既然要破解wifi...