1. ホーム
  2. プログラミング言語
  3. パイソン

Python --- AttributeError: 'NoneType' オブジェクトに 'xxxx' という属性がない問題

2022-01-22 22:35:23
<パス

このエラーは、セイバーメトリクスで中央値を求める問題を実行する際に、以下のコードで報告されました。

data = []
data = data.append(num)

  • 1
  • 2

AttributeError: 'NoneType' object has no attribute 'append' error.と表示されます。この理由は何でしょうか?この時、データの型が <class 'NoneType'> となっていることに注目しました。これは、あるオブジェクトのメソッドを使ったり、プロパティにアクセスしようとしているのですが、そのオブジェクトが空であることを意味します。空のオブジェクトは間違いなくappendプロパティを持たないので、エラーが報告されます。
解決方法 新しく生成されたオブジェクトは空なので、元のオブジェクトに対して操作すればよい。

data = []
data.append(num)

  • 1
  • 2

もちろん、元のリストを変更したくない場合は、コピーを作成し、バックアップで変更することができます。

newData = data.copy()
newData.append(num)

  • 1
  • 2