0Pricing
Python Academy · Lección

Iteradores e iterables

Explore el protocolo de iteradores para crear comportamientos de iteración personalizados

Iteradores e iterables es una lección gratuita de Python Academy en CoddyKit. Esta es la lección 5 de 5. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de Python Academy, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de Python Academy incluye 5 lecciones en total.

Introducción a los iteradores y los iterables

Introducción a los iteradores y los iterables

Los iteradores y los iterables son conceptos fundamentales de Python que permiten trabajar con secuencias de datos. Son la base de los bucles, las comprensiones y los generadores.

En esta lección, aprenderá cómo funcionan los iteradores y los iterables y cómo crear sus propios iteradores.

Iteradores e iterables — ilustración 1

¿Qué es un iterable?

¿Qué es un iterable?

Un iterable es cualquier objeto de Python que se puede recorrer mediante un bucle for. Algunos ejemplos son las listas, las tuplas, los conjuntos y los diccionarios.

# Example of an iterable
my_list = [1, 2, 3]
for item in my_list:
    print(item)  # Outputs: 1, 2, 3

¿Qué es un iterador?

¿Qué es un iterador?

Un iterador es un objeto que representa un flujo de datos. Implementa los métodos __iter__() y __next__().

# Example of an iterator
my_list = [1, 2, 3]
iterator = iter(my_list)
print(next(iterator))  # Outputs: 1
print(next(iterator))  # Outputs: 2
print(next(iterator))  # Outputs: 3

Diferencia entre iterables e iteradores

Diferencia entre iterables e iteradores

Los iterables se pueden recorrer, por ejemplo, las listas, mientras que los iteradores producen un elemento cada vez mediante el método next(). Un iterable se convierte en un iterador cuando se pasa a la función iter().

Creación de iteradores personalizados

Creación de iteradores personalizados

Puede crear iteradores personalizados definiendo una clase con los métodos __iter__() y __next__():

# Custom iterator example
class Counter:
    def __init__(self, start, end):
        self.current = start
        self.end = end

    def __iter__(self):
        return self

    def __next__(self):
        if self.current > self.end:
            raise StopIteration
        self.current += 1
        return self.current - 1

counter = Counter(1, 5)
for number in counter:
    print(number)  # Outputs: 1, 2, 3, 4, 5

Uso de la función <code>iter()</code>

Uso de la función iter()

La función iter() devuelve un objeto iterador a partir de un iterable:

# Using iter() on a list
my_list = [1, 2, 3]
iterator = iter(my_list)
print(next(iterator))  # Outputs: 1

Gestión de <code>StopIteration</code>

Gestión de StopIteration

Cuando un iterador se agota, genera una excepción StopIteration. Así es como Python indica el final de una secuencia.

# Handling StopIteration
my_list = [1, 2, 3]
iterator = iter(my_list)

while True:
    try:
        print(next(iterator))
    except StopIteration:
        break

Iteradores frente a generadores

Iteradores frente a generadores

Los generadores son una forma más sencilla de crear iteradores. Implementan automáticamente los métodos __iter__() y __next__().

# Example of a generator as an iterator
def my_generator():
    yield 1
    yield 2
    yield 3

for value in my_generator():
    print(value)  # Outputs: 1, 2, 3

Errores habituales con los iteradores

Errores habituales con los iteradores

Estos son algunos errores que debe evitar:

  • Olvidar implementar __iter__() y __next__() en los iteradores personalizados.
  • No gestionar correctamente las excepciones StopIteration.
  • Confundir los iteradores con los iterables.

¿Qué hemos aprendido?

¿Qué hemos aprendido?

En esta lección, ha aprendido:

  • La diferencia entre iterables e iteradores.
  • Cómo usar __iter__() y __next__() para crear iteradores personalizados.
  • Cómo usar la función iter() y gestionar las excepciones StopIteration.
  • Cómo los generadores simplifican la creación de iteradores.

¡Buen trabajo! Pasemos al siguiente tema.

Iteradores e iterables — ilustración 11

Preguntas frecuentes

¿La lección «Iteradores e iterables» es gratis?

Sí — el texto completo de «Iteradores e iterables» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de Python Academy, actualiza a CoddyKit PRO. El curso de Python Academy incluye 5 lecciones en total.

¿Qué aprenderé en «Iteradores e iterables»?

Explore el protocolo de iteradores para crear comportamientos de iteración personalizados Practicas Python Academy con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.

¿Necesito experiencia previa para empezar Python Academy?

No se requiere experiencia previa. Python Academy en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 5 de 5.

¿Cuánto tiempo toma la lección «Iteradores e iterables»?

La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.

¿Puedo escribir y ejecutar código en esta lección de Python Academy?

Sí. Cada lección de Python Academy incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.

Todas las lecciones de este curso

  1. Decoradores
  2. Generadores
  3. Gestores de contexto (sentencias with)
  4. Comprensiones (de listas, conjuntos y diccionarios)
  5. Iteradores e iterables
← Volver a Python Academy