logo

EasyDict: 辞書の便利な使用のためのPythonパッケージ 📂プログラミング

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