【Python】dictionaryから値を取得する2つの違い
作成日:2025-05-25
更新日:2025-09-28

dictionaryから
厳格に or 安全に
取得する
厳格に or 安全に
取得する
取得方法は2つ
["key"]- 厳格
- .get(“key”, デフォルト値)
- 安全

どう違う?
キーが存在するかを判定するかしないか
["key"]- そのキーが絶対に存在する前提
.get("key", デフォルト値)- キーが存在しなければ デフォルト値を返す
仕様による違い
厳格|dict["key"]
- キーが存在しなければ
KeyErrorを出す - 安心して使えるのは「そのキーが確実にあるとわかってる時」だけ
d = {"name": "usagi"}
print(d["name"]) # OK
print(d["age"]) # ❌ KeyError キーがない
安全|dict.get("key")
- キーがなくてもエラーを出さずに
None(または指定した値)を返す - 不完全な辞書・動的なキーと相性◎
d = {"name": "usagi"}
print(d.get("name")) # → "usagi"
print(d.get("age")) # → None
print(d.get("age", "N/A")) # → "N/A"

Exists 確認をしなくても
デフォルト値が入るから
べんり
Python公式ドキュメントより(意訳)
📚 出典: Python公式辞書型の解説
dict.get(key[, default])は、指定されたキーに対応する値を返す。
キーが存在しない場合は、defaultを返す(省略時はNone)。
→ 例外を発生させたくないときに使う。
設計メモ
- 確定しているロジックの場合
-
[]でいい
-
- 出力・ログ・UIなど柔軟さが求められる場合
.get()が推奨- デフォルト値の設定も推奨
print_result() みたいに
外から辞書を受け取る共通関数には
.get("key", デフォルト値)を使うほうがベター
2025-05-25
編集後記:
この記事の内容がベストではないかもしれません。
記事一覧
-

[Python]datetimestring format time 【Python】文字列を日付型に変える|datetime.strftime -

[Python]inString 【Python】指定の文字列が含まれているか|in -

[Python]Write a 1D arrayvia pandas 【Python】Excelに書き出す|pandas.ExcelWriter -

[Python]endswith+ lower 【Python】拡張子の存在確認|endswith + lower(Method Chaining) -

[Python]pathlib存在確認 【Python】フォルダとファイルの存在確認|pathlib -

[Python]Stringsplit 【Python】文字列を抜き出す|.split