2ちょっといい感じのdictと、その活用方法JSONPython3TOMLdictPythonの基本クラスの一つにdictがあります。言語には備わっている、キーと値を紐付けて格納する定番のコンテナ型です。括弧とクォートの両方が必要とか割とダルいし、見た目的にも優雅さに欠ける感じがします。した構文で参照したくなりませんか?例えば、JavaScriptのように...ちょっといい感じのdictでは、さっそく作ってみましょう。dict.__getitem__はい、できました(早)。必要であれば__setattr__や__delattr__も同じ様に定義してください。Mapインスタンスの作り方は、(dictを継承しているので当然)dict()と同じです。値の参照は属性名をドットでつなげて書くだけなので、使い勝手も見た目もシンプルです。10000いい感じの活用方法では、Json形式で保存されたパラメタを読み込み、Mapインスタンスに格納してみましょう。json.loads()の引数object_hookにdictの代わりに使用するクラスを指定します。属性名をドットでつなぐだけで、一番内側の要素まで一気に参照可能です。これがdictだったら、params['one']['two']['three']['four']のように記述しなければならず、腱鞘炎は避け得ないところでした。簡単な設定を保存するのにJson形式はシンプルで良い選択肢だと思いますが、コメントが書けない入れ子になると読みづらい&書きづらい最後の要素の後ろにコンマを置けないので、行コピペでイラッとするキーをダブルクォートで囲まないといけないので、やっぱり腱鞘炎など困ることが多いので、最近の私のオススメはToml形式です。Toml形式から読み込んだ場合も、Mapインスタンスに格納してみましょう。toml.loads()を使い、引数_dictにMapクラスを指定します。'夏目漱石'(さらにもっと)いい感じの活用方法attrgetter()という関数を知っていますか?「オブジェクトから属性名で値を取り出す関数」を生成する関数です。これを、先程のMapインスタンスbookに適用してみます。「ちょっと不便なdict」では、こうはいきませんね。'author.name'attrgetter()のドット記法は正式に対応している機能のようです。upLoginユーザーは見つかりませんでした。