El rendimiento es una palabra clave incorporada de Python que devuelve los valores de una función. La ejecución de la función no se termina. Más bien, devuelve el valor a la persona que llama y mantiene el estado de ejecución de la función. La ejecución de la función se reanuda desde la última declaración de rendimiento. El rendimiento nos permite producir una secuencia de valores en lugar de un valor. Se utiliza dentro de un cuerpo funcional. La función que contiene una declaración de rendimiento se conoce como función generadora.
Existen varias ventajas para generar palabras clave. Por ejemplo, controla la asignación de memoria y guarda el estado de la variable local. Sin embargo, aumenta la complejidad del código.
Este artículo explica el uso de la palabra clave yield con ejemplos.
Sintaxis de rendimiento
La sintaxis de rendimiento es simple y directa. El rendimiento se inicia con la palabra clave yield y la sintaxis de la siguiente manera:
valor de rendimientoEjemplos de
Ahora, veamos ejemplos para comprender el uso y el funcionamiento de las declaraciones de rendimiento. Tradicionalmente, la palabra clave return termina la ejecución del programa y devuelve un valor al final, mientras que yield devuelve la secuencia de valores. No almacena el valor en la memoria y devuelve el valor a la persona que llama en tiempo de ejecución. En el siguiente ejemplo, se define una función de generador para determinar el año bisiesto. Un salto es ese año cuando divisible por cuatro devuelve cero como resto. La palabra clave yield devuelve el valor del año bisiesto a la persona que llama. Como obtendrá el valor del año bisiesto, pausará la ejecución del programa, devolverá el valor y luego reanudará la ejecución desde donde se detuvo.
#declaración de un generador para determinar el año bisiestodef leapfunc (mi_lista):
para yo en mi_lista:
si (i% 4 == 0):
#utilizando rendimiento
rendimiento i
#declarando la lista de años
year_list = [2010,2011,2012,2016,2020,2024]
print ("Impresión de los valores de los años bisiestos")
para x en leapfunc (lista_año):
imprimir (x)
Producción
La salida muestra la serie de años bisiestos.
Veamos otro ejemplo donde la función del generador produce varios números y cadenas.
# declarando una función generadoradef myfunc ():
ceder "Mark"
ceder "John"
ceder "Taylor"
ceder "Ivan"
rendimiento 10
rendimiento 20
rendimiento 30
rendimiento 40
rendimiento 50
# llamar e iterar a través de la función del generador
para yo en myfunc ():
#impresión de valores
imprimir (i)
Producción
Implementemos una función generadora para calcular e imprimir el valor del cubo de la secuencia de números. Estamos generando los valores del cubo de 1 a 30.
#declarar una función generadora para calcular el valor del cubodef calcube ():
val = 1
#el bucle infinito while
mientras que es verdadero:
#cubo de cálculo
rendimiento val * val * val
#aumentar el valor en 1
val = val + 1
print ("Los valores del cubo son:")
# llamar a la función del generador
para yo en calcube ():
si yo> 30:
rotura
imprimir (i)
Producción
La salida muestra el valor del cubo menor que 30.
Conclusión
Yield es una palabra clave incorporada de Python que no finaliza la ejecución del programa y genera una serie de valores. En comparación con la palabra clave return, la palabra clave yield produce múltiples valores y regresa a la persona que llama. Este artículo explica el rendimiento de Python con ejemplos.