Python | ‘dict’ object has no attribute ‘xxx’ エラーの原因と解決策

Python エラー,Python

Python | 'dict’ object has no attribute 'xxx’ エラーの原因と解決策

Pythonの実行時に発生するエラー「’dict’ object has no attribute 'xxx’」の原因と解決策について紹介しています。

AttributeError: 'dict’ object has no attribute 'xxx'
属性エラー:「dict」オブジェクトには属性「xxx」がありません

確認環境

Windows11 ローカル
Python python-3.11.1

'dict’ object has no attribute 'xxx’ エラーの原因

「’dict’ object has no attribute 'xxx’ 」というPythonの実行エラーは辞書のデータの呼び出しや追加、変更、削除の処理を実行する際に発生します。
これは、指定している属性(メンバー変数やメンバー関数、メソッド)が辞書には存在していない事を意味します。

例えば以下の原因が考えられます。

  • 辞書のキー名の指定方法が違う
  • 指定している属性の綴りが間違っている

'dict’ object has no attribute 'xxx’ エラーの発生例と解決策

「’dict’ object has no attribute 'xxx’」エラーの発生例と問題を解決する方法になります。

辞書のキー名の指定方法が違う

例えば、以下のようにキー名を記述しようとたコードの場合、「’dict’ object has no attribute 'xxx’ 」エラーが出力されます。

data = {}
data.name = 'apple'

# AttributeError: 'dict' object has no attribute 'name'

上記したエラーの場合、キー名の指定の記述方法が間違っている為、実際は以下のように記述する事でエラーを解決します。

new_data = {}
new_data['name'] = 'apple'

指定している属性の綴りが間違っている

以下のコードでは指定している属性(メンバー変数やメンバー関数、メソッド)の綴りが間違っているため、エラーが発生します。

data = [1, 3, 4, 2]
data.solt()

# AttributeError: 'list' object has no attribute 'solt'

指定している属性(メンバー変数やメンバー関数、メソッド)の綴りが間違っている為、実際は以下のように記述する事でエラーを解決します。

data = [1, 3, 4, 2]
data.sort()