Lösen Sie AttributeError: `list`-Objektattribut `append` ist schreibgeschützt
Wir können verschiedene Operationen (Methoden) für den Datentyp ausführen, wenn wir mit Listen in Python arbeiten. Wir müssen verstehen, wie sie funktionieren, um sie effektiv und fehlerfrei zu nutzen.
Um diese Methoden verwenden zu können, müssen wir ihre Syntax, Fehler und Funktionsweise kennen. Eine dieser vielen Methoden ist die append()
-Methode, die uns hilft, ein neues Element zu einer Liste hinzuzufügen.
Wenn wir es jedoch missbrauchen, erhalten wir die Fehlermeldung AttributeError: 'list' object attribute 'append' is read-only
.
Dieser Artikel zeigt Ihnen, was diese Fehlermeldung AttributeError: 'list' object attribute 'append' is read-only
verursacht und wie Sie sie lösen können.
Verwenden Sie die richtige Syntax, um AttributeError: 'list' object attribute 'append' is read-only
zu lösen
Die Fehlermeldung AttributeError: 'list' object attribute 'append' is read-only
ist ein AttributeError
, was bedeutet, dass eine Attributreferenz oder -zuweisung fehlschlägt.
Wir können anhand der Fehlermeldung verstehen, was passieren könnte. Das Objektattribut append
ist schreibgeschützt, und ein Referenzierungs- oder Zuweisungsvorgang schlägt aufgrund dieser Bedingung fehl.
Wenn Daten schreibgeschützt sind, was append
ist, kann auf sie nur zugegriffen, aber nicht geändert werden. Daher gibt es in unserem Code einen Ausdruck, der versucht, das Objektattribut Liste
Anhängen
zu ändern.
Lassen Sie uns versuchen, dieselbe Fehlermeldung mit einem einfachen Python-Code zu replizieren.
In diesem Code erstellen wir eine Variable, shopList
, die eine Liste von Elementen enthält. Dann bindet eine andere Variable, Wert
, an eine Zeichenfolge, Zahnstocher
.
Danach druckt es den Inhalt von shopList
. Und schließlich versuchte es, den verbindlichen Wert
an die Liste shopList
anzuhängen.
Code:
shopList = ["banana", "orange", "sugar", "salt"]
value = "toothpick"
print(shopList)
shopList.append = value
Ausgang:
['banana', 'orange', 'sugar', 'salt']
Traceback (most recent call last):
File "c:\Users\akinl\Documents\Python\alt.py", line 4, in <module>
shopList.append = value
AttributeError: 'list' object attribute 'append' is read-only
Wir sehen die Fehlermeldung AttributeError: 'list' object attribute 'append' is read-only
, die wir lösen wollen. Aus dem Fehler wissen wir, dass die Fehlerursache in Zeile 4 vorhanden ist.
Der folgende Code ist das, was in Zeile 4 vorhanden ist:
shopList.append = value
Nun, was ist hier falsch?
Das Attribut heisst append
. Der Code hat versucht, der Methode append
den bindenden value
zuzuweisen, was zu Fehlern und Ausnahmen führte, weil Sie Methoden auf eingebauten Objekten nicht ersetzen sollten.
Ursache des AttributeError
ist ein SyntaxError
bezüglich der Verwendung der append
-Methode. Die korrekte Verwendung der append
-Methode ist unten zu sehen:
shopList.append(value)
Lassen Sie uns nun denselben Code neu schreiben.
shopList = ["banana", "orange", "sugar", "salt"]
value = "toothpick"
print(shopList)
shopList.append(value)
print(shopList)
Ausgang:
['banana', 'orange', 'sugar', 'salt']
['banana', 'orange', 'sugar', 'salt', 'toothpick']
Prüfen Sie daher bei einem AttributeError
Ihre Syntax, denn derselbe Fehler kann auch bei anderen Methoden wie index
auftreten.
Code:
shopList = ["banana", "orange", "sugar", "salt"]
shopList.index = "banana"
Ausgang:
Traceback (most recent call last):
File "c:\Users\akinl\Documents\Python\index.py", line 2, in <module>
shopList.index = "banana"
AttributeError: 'list' object attribute 'index' is read-only
Diesmal lautet der Fehler AttributeError: 'list' object attribute 'index' is read-only
anstelle eines append
-Fehlers.
Seien Sie immer vorsichtig mit Ihrer Syntax.
Olorunfemi is a lover of technology and computers. In addition, I write technology and coding content for developers and hobbyists. When not working, I learn to design, among other things.
LinkedInVerwandter Artikel - Python Error
- Adresse wird bereits verwendet Fehler in Python
- AttributeError: __Exit__ in Python
- AttributeError: 'Dict'-Objekt hat kein Attribut 'Append' in Python
- AttributeError: 'NoneType'-Objekt hat kein Attribut 'Text' in Python
- AttributeError: Int-Objekt hat kein Attribut
- AttributeError: Modul Urllib hat keine Attributanforderung