読者です 読者をやめる 読者になる 読者になる

Λάδι Βιώσας

http://profile.hatena.ne.jp/kenkitii/

dictionaryを簡単に扱うclass

python

http://d.hatena.ne.jp/alcoholgypsy/20060613
web.pyにそのものずばりなコードがありましたよ。
以下、web.pyよりコピペ。

class Storage(dict):
    """
    A Storage object is like a dictionary except `obj.foo` can be used
    instead of `obj['foo']`. Create one by doing `storage({'a':1})`.
    """
    def __getattr__(self, key): 
        if self.has_key(key): 
            return self[key]
        raise AttributeError, repr(key)
    def __setattr__(self, key, value): 
        self[key] = value
    def __repr__(self):     
        return '<Storage ' + dict.__repr__(self) + '>'

使い方は↓こんな感じです。。。

dic = {'foo':1, 'bar':2}
s = Storage(dic)
print s.foo, s.bar