python的AttrDict
不解释, 算是分享, 初学python(其实两年前上课就学了, 但一直在焦虑, 啥也没学会, 相当于初学). 下面两个方法都是用于得到AttrDict(dict不能通过d.x访问属性, AttrDict用起来和dict一样, 但是可用通过d.x访问). 第一个不安全, 第二个安全, 但它们都很有意思.
class AttrDict(dict):
def __init__(self, *args, **kwargs):
super(AttrDict, self).__init__(*args, **kwargs)
self.__dict__ = self
这段有意思之处在于揭示了d.x的时候, python是怎么查找x的.
class AttributeDict(dict):
__slots__ = ()
__getattr__ = dict.__getitem__
__setattr__ = dict.__setitem__
这个有意思之处是, 展示了函数即对象. 也提醒我们__getattr__
合适会被调用.