Repaso
English
PythonIntermedioPY-43

¿Cuál es la diferencia entre un iterable, un iterator y un generator?

Respuesta

  • Iterable: cualquier cosa que puedas recorrer; implementa __iter__ (list, dict, str, archivo).
  • Iterator: objeto con __next__ que recuerda su posición y lanza StopIteration al final; iter(iterable) te da uno. Una sola pasada.
  • Generator: un iterator creado por una función con yield (o una generator expression). Su estado se pausa entre yields; los valores se producen de forma lazy.
  • Por qué importa: procesar archivos grandes o filas de una base de datos con memoria constante, pipelines, secuencias infinitas.

Términos clave

Practica esta pregunta en Repaso