Рассмотрим альтернативу Bunch
:
class Bunch(object):
def __init__(self, adict):
self.__dict__.update(adict)
, поэтому, если у вас есть словарь d
и вы хотите получить доступ (прочитать) его значения с синтаксисом x.foo
вместо неуклюжего d['foo']
просто сделайте
x = Bunch(d)
, это работает как внутри, так и снаружи - и это чрезвычайно чище и безопаснее, чем введение d
в globals()
!Помните последнюю строчку из дзен Python ...:
>>> import this
The Zen of Python, by Tim Peters
...
Namespaces are one honking great idea -- let's do more of those!