Cómo crear y utilizar generadores de Python

Como Crear Y Utilizar Generadores De Python



Mientras trabaja como desarrollador, a menudo necesita trabajar con muchos valores de datos insignificantes. Almacenar esos valores consume una gran cantidad de memoria, lo que reduce la eficiencia de su código. Sin embargo, en Python, puedes usar generadores para evitar esa pérdida.

Con los generadores, puedes producir en masa los valores de una secuencia particular sin almacenarlos por completo en la memoria. Además, la función 'generadora' crea un objeto que genera valores cuando se itera sobre él. Entonces, si desea tener en sus manos los generadores de Python, este tutorial es para usted. Aquí, explicaremos cómo crear y utilizar los generadores de Python.

Cómo crear y utilizar los generadores de Python

Los generadores de Python se utilizan para trabajar con secuencias de datos de manera efectiva, principalmente cuando se trata de conjuntos de datos grandes o casi infinitos. Los beneficios de los generadores de Python son:







  1. Conciso: Puede definir los generadores fácilmente de manera concisa, lo que mejora la legibilidad del código.
  2. Memoria eficiente: Generan un valor único simultáneamente, lo que consume menos memoria y mejora la eficiencia.
  3. Funciones integradas: En Python, los generadores tienen funciones predefinidas como next(), iter() y yield para facilitar su trabajo.
  4. Función de pausa y reanudación: Mientras trabaja en algoritmos complejos, puede utilizar la función 'rendimiento' para pausar y reanudar el funcionamiento de los generadores.

Puedes crear y utilizar generadores de varias maneras en Python. Dividiremos aún más esta sección para demostrar su implementación utilizando diferentes ejemplos. Primero, echemos un vistazo a la sintaxis básica:



definición nombre_función ( ) :
    producir expresión

'def' define una función y 'rendimiento' se utiliza para construir la función 'generadora'. Sin embargo, otro método también ayuda a crear un generador utilizando sólo expresiones de una línea.



Función generadora para generar una cadena

Definamos una función generadora para producir algún valor:





definición generador ( ) :
    producir 'Esto es un generador'
para valor en generador ( ) :
    imprimir ( valor )

Cuando lo iteramos usando un bucle 'for', el programa genera los valores especificados que puede imprimir usando la función 'imprimir'.



Función generadora para hacer un contador

El siguiente programa es el ejemplo de la función generadora para generar una secuencia de números:

definición mi_generador ( norte ) :
encimera = 0
    mientras encimera < norte:
        producir encimera
contador + = 1
para encimera en mi_generador ( 10 ) :
    imprimir ( encimera )

Por ejemplo, si la entrada es 10, obtendrá valores del 0 al 9 al compilar este código.

Serie de Fibonacci usando la función generadora

Usemos ahora la serie de Fibonacci, que es la serie más básica en programación:

definición serie_fibonacci ( límite ) :
i , j = 0 , 1
    mientras i < límite:
        producir i
i , j = j , yo + j

a = serie_fibonacci ( 6 )

imprimir ( próximo ( a ) )
imprimir ( próximo ( a ) )
imprimir ( próximo ( a ) )
imprimir ( próximo ( a ) )
imprimir ( próximo ( a ) )
imprimir ( próximo ( a ) )

Obtendremos la serie de la siguiente manera ejecutando el código:

Primero, cree un objeto llamado 'a' y llame a la función 'generadora' con la entrada deseada como argumento.

La palabra clave next() es un iterador manual. Cada vez que usamos next(a), se itera sobre un valor de 'a'. Sin embargo, podemos usar el bucle 'for' para imprimir todos los valores de 'a' a la vez como se muestra en el siguiente ejemplo:

Usando el bucle 'for' en lugar de la función next():

definición serie_fibonacci ( límite ) :
i , j = 0 , 1
    mientras i < límite:
        producir i
i , j = j , yo + j

a = serie_fibonacci ( 6 )
para valor en a :
    imprimir ( valor )

El resultado de ejecutar el código no diferirá porque es un método alternativo de escribir el programa anterior:

¿Qué son las expresiones generadoras en Python?

Las expresiones del generador de Python son una forma de crear funciones 'generadoras' de manera concisa utilizando expresiones lineales. Aquí está la sintaxis simple:

( expresión para variable en iterable si condición )

Por ejemplo, cree una expresión generadora para calcular los cuadrados de números impares de 0 a 'n' cuando 'n' es el valor de entrada.

cuadrados impares = ( x * x para X en rango ( 10 ) si X % 2 != 0 )
para valor en cuadrados impares:
    imprimir ( valor )

El código anterior arroja el siguiente resultado:

Conclusión

Se trata de los diferentes métodos para crear y utilizar los generadores de Python. Explicamos todo sobre las expresiones del generador de Python. Deberías utilizar estas expresiones si consideras utilizar generadores en cualquiera de tus proyectos porque son más eficientes en todos los aspectos de la programación.