Un generador es una función especial que utiliza la palabra clave yield en lugar de return, lo que le permite producir valores uno a uno bajo demanda, en lugar de calcular y almacenar todos los resultados de golpe en memoria.
Esta característica los hace ideales para procesar archivos muy grandes, secuencias potencialmente infinitas o flujos de datos continuos, ya que el consumo de memoria se mantiene constante independientemente del volumen de datos procesados.
Código de ejemplo:
def fibonacci():
a, b = 0, 1
while True:
yield a
a, b = b, a + b
generador = fibonacci()
for _ in range(8):
print(next(generador), end=" ")
# 0 1 1 2 3 5 8 13
# Generator expression
pares = (n for n in range(100) if n % 2 == 0)
.png)
No hay comentarios:
Publicar un comentario
Se procedera a revision para su pronta publicacion en caso de que no incumpla las normas de blogger.