NoneType-Objekt hat in Python kein Attribut angefügt

Salman Mehmood 21 Juni 2023
NoneType-Objekt hat in Python kein Attribut angefügt

Wir werden mit dieser Erklärung etwas über den NoneType-Fehler erfahren und sehen, welche Gründe es für diesen Fehler geben kann. Wir werden auch lernen, wie man diesen Fehler in Python behebt.

Beheben Sie den Fehler AttributeError: NoneType Object Has No Attribute Append in Python

Beginnen wir damit, eine Liste mit dem Namen product_list zu erstellen und einige Elemente in diese Liste einzufügen, dann fügen Sie ein weiteres Element hinzu. Wenn wir die Elemente überprüfen, funktioniert es ordnungsgemäß, aber wenn wir None der product_list zuweisen und dann versuchen, ein Element innerhalb dieser Liste anzuhängen, wird ein NoneType-Fehler ausgegeben.

>>> 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'

Dies liegt daran, dass die product_list NoneType ist, sodass wir nicht auf dieses Objekt zugreifen können, um das Element anzuhängen, und wir können diesen Objekttyp mit dem folgenden Befehl überprüfen.

>>> type(product_list)
<class 'NoneType'>

Dieser Fehler kann viele Gründe haben. Eine davon ist, wenn Sie versuchen, ein Element innerhalb der Liste anzuhängen und es in der Listenvariablen zu speichern, in der Sie ein neues Element anhängen.

Wenn Sie also das nächste Mal versuchen, ein neues Element anzuhängen, wird ein Fehler ausgegeben, der ein Nonetype-Fehler wäre.

>>> 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'

Ein Attribut kann man nicht nur anders anhängen, sondern wir können diesen Fehler auch beim Zugriff auf ein anderes Objekt bekommen. Wenn wir diesen Fehler erhalten (Objekt NoneType hat kein Attribut xyz), existiert das Attribut xyz nicht in einem Objekt.

Mit dir() können wir prüfen, ob das Objekt, auf das wir zugreifen wollen, existiert oder nicht. Das Attribut append() existiert in dieser Liste nicht.

>>> 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__']

Aus irgendeinem Grund erhalten Sie in Python einen AttributeError; Sie können die offizielle Dokumentation noch einmal überprüfen, um sicherzustellen, dass das, was Sie zu tun versuchen, etwas ist, das existiert. Manchmal könnte das beim Schreiben eines Python-Skripts gegen die Python-Regeln verstoßen; Deshalb erhalten wir diese Art von Fehler.

Salman Mehmood avatar Salman Mehmood avatar

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

Verwandter Artikel - Python Error