Python で NoneType オブジェクトに属性追加がありません
この説明で、NoneType エラーについて学び、このエラーが発生する理由を確認します。 また、Python でこのエラーを修正する方法も学習します。
Python の AttributeError: NoneType Object Has No Attribute Append
エラーを修正
まず、product_list
というリストを作成し、このリスト内にいくつかのアイテムを追加してから、もう 1つアイテムを追加します。 アイテムをチェックすると、正常に動作しますが、None
を product_list
に割り当ててから、このリスト内にアイテムを追加しようとすると、NoneType エラーがスローされます。
>>> product_list=['x1','x2']
>>> product_list.append('x3')
>>> product_list
['x1', 'x2', 'x3']
>>> product_list=None
>>> product_list.append('x4')
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
AttributeError: 'NoneType' object has no attribute 'append'
これは、product_list
が NoneType
であるため、このオブジェクトにアクセスしてアイテムを追加することができず、次のコマンドを使用してこのオブジェクト タイプを確認できます。
>>> type(product_list)
<class 'NoneType'>
このエラーが発生する理由は多数あります。 そのうちの 1つは、リスト内にアイテムを追加して、新しいアイテムを追加するリスト変数に格納しようとする場合です。
そのため、次に新しいアイテムを追加しようとすると、Nonetype エラーになるエラーがスローされます。
>>> product_list=product_list.append('x3')
>>> product_list.append('x4')
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
AttributeError: 'NoneType' object has no attribute 'append'
属性は、追加するだけでなく、別のオブジェクトにアクセスすることによってもこのエラーを取得できます。 このエラーが発生した場合 (‘NoneType’ オブジェクトに属性 ‘xyz’ がありません)、xyz
属性がオブジェクトに存在しません。
dir()
を使用して、アクセスしようとしているオブジェクトが存在するかどうかを確認できます。 append()
属性は、このリスト内には存在しません。
>>> dir(product_list)
['__bool__', '__class__', '__delattr__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__gt__', '__hash__', '__init__', '__init_subclass__', '__le__', '__lt__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__']
何らかの理由で、Python では AttributeError
が発生します。 公式ドキュメントを再確認して、実行しようとしているものが存在することを確認できます。 Python スクリプトを作成する場合、Python の規則に反する場合があります。 そのため、この種のエラーが発生します。
Hello! I am Salman Bin Mehmood(Baum), a software developer and I help organizations, address complex problems. My expertise lies within back-end, data science and machine learning. I am a lifelong learner, currently working on metaverse, and enrolled in a course building an AI application with python. I love solving problems and developing bug-free software for people. I write content related to python and hot Technologies.
LinkedIn関連記事 - Python Error
- AttributeError の解決: 'list' オブジェクト属性 'append' は読み取り専用です
- AttributeError の解決: Python で 'Nonetype' オブジェクトに属性 'Group' がありません
- AttributeError: 'generator' オブジェクトに Python の 'next' 属性がありません
- AttributeError: 'numpy.ndarray' オブジェクトに Python の 'Append' 属性がありません
- AttributeError: Int オブジェクトに属性がありません
- AttributeError: Python で 'Dict' オブジェクトに属性 'Append' がありません