Fix AttributeError: 'generator' Object Has No Attribute 'next' in Python
Attribute sind Werte, die sich auf ein Objekt oder eine Klasse beziehen. Der AttributeError
wird in Python ausgelöst, wenn Sie ein Attribut eines Objekts aufrufen, dessen Typ von der Methode nicht unterstützt wird.
Die Verwendung der split()
-Methode für ein int-Objekt gibt beispielsweise einen AttributeError
zurück, weil int-Objekte die split()
-Methode nicht unterstützen.
In Python 3 ist keine .next
-Methode an den Iterator angehängt. Als Ergebnis erhalten Sie einen AttributeError
, wenn Sie versuchen, die .next
-Methode auf das generator
-Objekt anzuwenden.
In diesem Tutorial lernen Sie, den AttributeError: 'generator' object has no attribute 'next'
in Python zu beheben.
Beheben Sie den Fehler AttributeError: 'generator' object has no attribute 'next'
in Python
Hier ist ein Beispiel für AttributeError
bei Verwendung der yield
-Anweisung in Python 3.
def get_data(n):
for i in range(n):
yield i
a = get_data(20)
for i in range(10):
print(a.next())
Ausgang:
Traceback (most recent call last):
File "c:\Users\rhntm\myscript.py", line 6, in <module>
print(a.next())
AttributeError: 'generator' object has no attribute 'next'
Wie Sie sehen, gibt es in Zeile 6 einen AttributeError
mit dem Code print(seq.next())
. Dies liegt daran, dass wir die Methode .next
verwendet haben, um das nächste Element vom Iterator zu erhalten.
Die Methode .next
wird in Python 3 durch die eingebaute Funktion next()
ersetzt. Sie können diesen Fehler mit der Funktion next
beheben, wie unten gezeigt.
def get_data(n):
for i in range(n):
yield i
a = get_data(20)
for i in range(10):
print(next(a))
Ausgang:
0
1
2
3
4
5
6
7
8
9
In Python 2 können Sie die Methode .next
verwenden, aber Python 3 wirft eine Ausnahme, AttributeError
.
Jetzt wissen Sie, wie Sie den Fehler Objekt 'generator' hat kein Attribut 'next'
in Python lösen. Wir hoffen, dass Sie diese Lösung hilfreich finden.
Verwandter 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