Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Aprende Introducción a las Funciones Generadoras y Yield | Python Iterators
Conceptos de Programación Funcional en Python

bookIntroducción a las Funciones Generadoras y Yield

Desliza para mostrar el menú

Las funciones generadoras son un tipo especial de función en Python que permiten crear iteradores de manera sencilla y legible. A diferencia de las funciones normales que devuelven un solo valor y luego terminan, las funciones generadoras pueden pausar su ejecución y reanudarla más tarde, produciendo una serie de valores uno a la vez.

Note
Definición

yield es una palabra clave de Python utilizada dentro de funciones generadoras para producir un valor y pausar el estado de la función. Cuando el generador se reanuda, continúa desde donde se detuvo.

Esto permite iterar sobre secuencias un valor a la vez sin construir listas intermedias, haciendo que el código sea más eficiente en el uso de memoria.

¿Cómo Funcionan las Funciones Generadoras?

Una función generadora se parece a una función normal pero utiliza la palabra clave yield en lugar de return. Cuando Python encuentra la instrucción yield, pausa la ejecución de la función y envía el valor generado al llamador. La próxima vez que se solicite un valor, la función se reanuda justo donde se detuvo.

Cómo Opera una Función Generadora

  1. Definir una función usando def e incluir al menos una instrucción yield;
  2. Al llamar a la función, el código interno no se ejecuta de inmediato. En su lugar, devuelve un objeto generador;
  3. Cada vez que se solicita el siguiente valor (usando next() o un bucle for), la función se ejecuta hasta que encuentra yield;
  4. La instrucción yield devuelve un valor al llamador y pausa el estado de la función;
  5. Cuando se solicita otro valor, la función se reanuda después del último yield;
  6. La función continúa hasta que se queda sin valores o alcanza un return o el final de su código.

Beneficios de Usar Funciones Generadoras:

  • Ahorro de memoria al producir elementos uno a la vez en lugar de crear listas grandes;
  • Código legible y mantenible para flujos de datos o secuencias;
  • Facilidad para trabajar con conjuntos de datos infinitos o muy grandes sin cargar todo en memoria.

Las funciones generadoras son una herramienta poderosa para el procesamiento eficiente de datos y son esenciales para dominar el estilo de programación funcional en Python. A continuación, se muestra cómo escribir y utilizar funciones generadoras con ejemplos prácticos de código.

question mark

¿Qué hace la palabra clave yield en una función generadora de Python?

Selecciona la respuesta correcta

¿Todo estuvo claro?

¿Cómo podemos mejorarlo?

¡Gracias por tus comentarios!

Sección 5. Capítulo 4

Pregunte a AI

expand

Pregunte a AI

ChatGPT

Pregunte lo que quiera o pruebe una de las preguntas sugeridas para comenzar nuestra charla

Sección 5. Capítulo 4
some-alt