EasyDict: 辞書の便利な使用のためのPythonパッケージ
概要1
辞書を便利に使用できるようにするeasydict
パッケージを紹介する。パッケージ内のEasyDict
を使用すると、辞書の値valueを属性attributeのようにアクセスすることができ、これは再帰的に機能する。
コード
Pythonの基本的な辞書は以下のように定義する。
김채원 = {
'국적': '대한민국',
'나이': 22,
'키': 163,
}
# 혹은
김채원 = {}
김채원['국적'] = '대한민국'
김채원['나이'] = 22
김채원['키'] = 163
辞書から値を取り出すには、上で定義した通り括弧の中にキーを入れればいい。このとき、キーが数字ではなく文字列の場合は、引用符も必ず必要で、属性のようには使用できない。
>>> 김채원['국적']
'대한민국'
>>> 김채원[나이]
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
NameError: name '나이' is not defined
>>> 김채원.키
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
AttributeError: 'dict' object has no attribute '키'
>>> 사쿠라 = { 국적: '일본'}
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
NameError: name '국적' is not defined
EasyDictを使用すると、以下のように便利に使用できる。
>>> from easydict import EasyDict as edict
>>>
>>> 김채원 = edict()
>>> 김채원.국적 = '대한민국'
>>> 김채원.키 = 163
>>> 김채원.나이 = 22
>>> 김채원.국적
'대한민국'
>>> 김채원.키
163
特に、再帰的に機能するため、辞書内の辞書を定義する際に便利である。
>>> 르세라핌 = edict()
>>> 르세라핌.김채원 = edict()
>>> 르세라핌.사쿠라 = edict()
>>> 르세라핌.허윤진 = edict()
>>> 르세라핌.카즈하 = edict()
>>> 르세라핌.홍은채 = edict()
>>>
>>> 르세라핌.김채원.국적 = '대한민국'
>>> 르세라핌.김채원.키 = 163
>>> 르세라핌.김채원.나이 = 22
>>>
>>> 르세라핌
{'김채원': {'국적': '대한민국', '키': 163, '나이': 22}, '사쿠라': {}, '허윤진': {}, '카즈하': {}, '홍은채': {}}
環境
- OS: Windows11
- Version: Python 3.9.13, easydict==1.10