Arreglar AttributeError: el objeto 'generador' no tiene atributo 'siguiente' en Python
Los atributos son valores relacionados con un objeto o una clase. El AttributeError se genera en Python cuando llama a un atributo de un objeto cuyo tipo no es compatible con el método.
Por ejemplo, usar el método split() en un objeto int devuelve un AttributeError porque los objetos int no admiten el método split().
En Python 3, no hay un método .next adjunto al iterador. Como resultado, obtendrá un AttributeError cuando intente utilizar el método .next en el objeto generador.
Este tutorial le enseñará a corregir el AttributeError: el objeto 'generator' no tiene atributo 'next' en Python.
Solucione el error AttributeError: el objeto 'generador' no tiene atributo 'siguiente' en Python
Aquí hay un ejemplo de AttributeError al usar la declaración yield en 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())
Producción :
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'
Como puede ver, hay un AttributeError en la línea 6 que contiene el código print(seq.next()). Es porque hemos usado el método .next para obtener el siguiente elemento del iterador.
El método .next se reemplaza por la función integrada next() en Python 3. Puede corregir este error utilizando la función next, como se muestra a continuación.
def get_data(n):
for i in range(n):
yield i
a = get_data(20)
for i in range(10):
print(next(a))
Producción :
0
1
2
3
4
5
6
7
8
9
En Python 2, puede usar el método .next, pero Python 3 lanza una excepción, AttributeError.
Ahora ya sabes cómo solucionar el error el objeto 'generador' no tiene atributo 'siguiente' en Python. Esperamos que encuentre útil esta solución.
Artículo relacionado - Python Error
- Administrar fallas de segmentación en Python
- Archivo <Stdin>, Línea 1, en <Módulo> Error en Python
- Arreglar el comando cl.exe falló: no existe tal archivo o directorio en Windows
- Arreglar NameError: la variable no está definida en Python
- Arreglar Socket.Gaierror: [Errno 8] Nodename ni Servname proporcionado, o desconocido en Python
