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使用scipy模块实现一维卷积运算示例

本文实例讲述了Python使用scipy模块实现一维卷积运算。分享给大家供大家参考,具体如下: 一 介绍 signal模块包含大量滤波函数、B样条插值算法等等。下面的代码演示了一维信号的...

在pytorch中查看可训练参数的例子

pytorch中我们有时候可能需要设定某些变量是参与训练的,这时候就需要查看哪些是可训练参数,以确定这些设置是成功的。 pytorch中model.parameters()函数定义如下:...

python设置环境变量的作用和实例

Python的环境变量 环境变量 说明 PYTHONSTARTUP 在交互式启动时执行...

Python-接口开发入门解析

Python-接口开发入门解析

一、开发接口的作用 1、mock接口:模拟一些接口。有一些有关联的接口,在别的接口没有开发好的时候,需要用这个接口,就可以写一个假接口,返回想要的结果来模拟这个接口。 2、知道服务端的开...

python+numpy+matplotalib实现梯度下降法

python+numpy+matplotalib实现梯度下降法

这个阶段一直在做和梯度一类算法相关的东西,索性在这儿做个汇总: 一、算法论述 梯度下降法(gradient  descent)别名最速下降法(曾经我以为这是两个不同的算法-.-...