Python Yield
Generalmente se usa para convertir una función normal de Python en un generador. Un generador es una función especial en Python que devuelve un objeto generador a la persona que llama. Dado que almacena los estados de las variables locales, se controla la sobrecarga de la asignación de memoria.
Ejemplo:
# Python3 code to demonstrate yield keyword # Use of yield def printresult(String) : for i in String: if i == "e": yield i # initializing string String = "GeeksforGeeks" ans = 0 print ("The number of 'e' in word is : ", end = "" ) String = String.strip() for j in printresult(String): ans = ans + 1 print (ans)
Producción:
The number of 'e' in word is : 4
Python Return
Generalmente se usa para el final de la ejecución y «devuelve» el resultado a la declaración de la persona que llama. Puede devolver todo tipo de valores y devuelve Ninguno cuando no hay una expresión con la declaración «retorno».
Ejemplo:
# A Python program to show return statement class Test: def __init__(self): self.str = "GeeksForGeeks" self.x = "Shubham Singh" # This function returns an object of Test def fun(): return Test() # Driver code to test above method t = fun() print(t.str) print(t.x)
Producción:
GeeksForGeeks Shubham Singh
Diferencia entre rendimiento y retorno de Python
S. NO. | RENDIR | DEVOLVER |
---|---|---|
1 | El rendimiento se usa generalmente para convertir una función normal de Python en un generador. | Return se usa generalmente para el final de la ejecución y «devuelve» el resultado a la declaración de la persona que llama. |
2 | Reemplaza el retorno de una función para suspender su ejecución sin destruir las variables locales. | Sale de una función y devuelve un valor a su llamador. |
3 | Se utiliza cuando el generador devuelve un resultado intermedio a la persona que llama. | Se utiliza cuando una función está lista para enviar un valor. |
4 | El código escrito después de la declaración de rendimiento se ejecuta en la siguiente llamada a la función. | mientras que el código escrito después de la declaración de devolución no se ejecutará. |
5 | Puede ejecutarse varias veces. | Solo se ejecuta una sola vez. |
6 | La función de declaración de rendimiento se ejecuta desde el último estado desde donde se detuvo la función. | Cada llamada de función ejecuta la función desde el principio. |
Publicación traducida automáticamente
Artículo escrito por SHUBHAMSINGH10 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA