Sintaxis
Rendimiento de la expresión
Python rendimiento devuelve el objeto generador. Estos son los objetos especiales que ayudan a obtener el valor. Debido a esto, se itera.
Herramientas del generador de pitón
Función del generador:
Estas funciones se definen como una función normal "def", pero usan la palabra clave de rendimiento en lugar de retorno. Por lo tanto, el resultado se obtiene uno a la vez.
Expresiones del generador:
Estas expresiones funcionan de manera similar a las comprensiones de la lista. Sin embargo, difieren en un aspecto. A medida que devuelven un objeto, muestra el resultado solo cuando se exige en lugar de producir las listas de resultados.
Ejemplo
A continuación se explica una ilustración simple para iluminar el concepto de generadores. Al principio, definiremos el generador, como solíamos definir una función simple. Después de eso, imprimiremos la cadena y utilizaremos la palabra clave de rendimiento para devolver el valor.
Def gen ()Donde gen () es el nombre de un generador, cada vez que se llama el rendimiento, devuelve el valor a mostrar.
Para obtener la salida en Linux, vaya al terminal Ubuntu y escriba el siguiente comando:
$ python3 '/home/aqsa/documents/resultTempp.py '
Donde Python3 es una palabra clave utilizada, hemos utilizado la ruta de un archivo que tiene la extensión de ".Py "que muestra que el archivo está escrito en Python.
La salida es la siguiente:
Puede ver que la función de rendimiento ha devuelto cada valor de valor por línea.
Diferencia entre el generador y las funciones normales
Aquí, hemos tomado un ejemplo para explicar la diferencia entre una función regular y el generador que tiene una función de rendimiento. Al principio, la función normal se define:
Función DEF ()En esta función, solo se imprime una cadena como salida. Segundo, hemos definido un generador.
Generador Def ()Esto producirá la cadena como salida. Después de definir tanto la función como el generador, permitiremos las llamadas de la función y las dejaremos imprimir.
Imprimir (generador ())Ahora, veremos la salida ejecutando la misma práctica descrita anteriormente.
Desde la salida, puede ver que se obtiene el resultado de la función normal, pero el generador ha mostrado algún tipo de error. Entonces, hay otra forma de obtener la salida utilizando el objeto del generador. Hemos tomado el mismo ejemplo que se describió anteriormente para explicar la funcionalidad. Todo el código es el mismo, pero el método de impresión del generador se reemplaza con el siguiente código:
Imprimir (Next (Generator ()))Este comando ayudará a recuperar la cadena escrita en el generador.
Ahora, desde la salida, puede ver que en lugar de mostrar el mensaje de error. La salida deseada se obtiene en forma de cadena.
Obtener/leer los valores de la función del generador
Hay diferentes funciones que ayudan a obtener la salida del generador. Discutiremos dos de ellos uno por uno.
Lista ()Una lista es un objeto que contiene sus valores dentro de los soportes. Este objeto es iterable y muestra los valores con iteraciones. En el generador, las listas mostrarán todos los valores que posee el generador. Además de la lista, las funciones bucle () y next () también se utilizan para presentar la salida.
Considere un ejemplo en el que hemos definido un generador llamado "función" en la que hemos usado un bucle for para los números para iterar. Una operación matemática se realiza en esta función. La función del generador recibe un valor que se pasa como un parámetro cuando se llama a esta función.
Para x en rango (n):Este es el código central de la función del generador:
Luego, después de encontrar el módulo, el valor resultante se devuelve mediante el rendimiento. A continuación, el procedimiento adicional de impresión se realiza a través de la función de lista que es la siguiente.
Imprimir (Lista (NUM))Esta función proporciona la salida en forma de lista. Por ejemplo, la salida se muestra a continuación:
Próximo()La siguiente función mostrará el siguiente valor en cualquier lista, matriz o objeto. Si usamos la siguiente función en cualquier matriz vacía, mostrará un mensaje de error. Entonces, para obtener el valor fino, la matriz o la lista no deben estar vacías. La misma operación matemática se aplica en este ejemplo. Sin embargo, el método de impresión es diferente. Dado que 20 es el número aprobado como parámetro, los números se obtendrán hasta que se alcancen 20 en la salida. Completamos siete rondas.
Imprimir (Next (NUM))Ahora veremos la salida. Tenga en cuenta que se obtienen todos los números par:
Serie de números Fibonacci y los generadores
La serie Fibonacci es la secuencia de números adquiridos al agregar los últimos dos números antes de él. Hemos utilizado el siguiente ejemplo para comprender la funcionalidad de los generadores. En esta función, hemos tomado dos variables que almacenan dos valores numéricos en ellas. También hemos tomado una variable de conteo. Esta función funcionará de tal manera que verificará si el valor del recuento es menor que el número actual. A continuación, agregará los dos números anteriores, y los guardará en el siguiente. El proceso permanecerá hasta que se alcance el número 7. Finalmente, el resultado se obtiene usando el bucle for ().
La salida del código adjunto anterior es el siguiente:
0, 1, 1, 2, 3, 5, 8Llamada de función utilizando el rendimiento
Este es el ejemplo de llamar a la función utilizando el rendimiento. En comparación, hemos utilizado la función cuadrada en el generador.
Def getSquare (n):A través de la función de rendimiento, hemos utilizado la llamada de función para obtener la respuesta:
La salida requerida se proporciona a continuación:
0, 1, 4, 9, 14, 25, 36, 49, 64, 81Conclusión
En este artículo, hemos explicado los ejemplos de un generador, cómo podemos obtener la salida y la diferencia entre el generador y la función normal.