Python és el llenguatge de programació per a usos generals àmpliament utilitzat dels darrers temps. El rendiment és una paraula clau Python integrada que s’utilitza per crear les funcions del generador. La seva funció genera una sèrie de resultats. Posa en pausa l'execució del programa, torna el valor del resultat a la persona que truca i reprèn l'execució des del darrer rendiment. A més, la funció de rendiment envia la sèrie de resultats generats en forma d'objecte generador. D'altra banda, el retorn també és una paraula clau integrada a Python que finalitza la funció i torna el valor a la persona que truca.
Aquest article descriu les diferències entre el rendiment i el rendiment amb exemples.
Diferències entre el rendiment i el retorn
Per començar, hi ha moltes diferències destacades entre el rendiment i el rendiment. Anem a discutir primer què són aquests.
Torna | Rendiment |
---|---|
La declaració de retorn només retorna un valor únic a la persona que truca. | La declaració de rendiment pot retornar una sèrie de resultats a la persona que truca en forma d'objecte generador. |
El retorn surt de la funció i, en el cas d’un bucle, descarta el bucle. És l'última sentència que es col·loca dins de la funció. | No suprimeix les variables locals de la funció. Suspèn l'execució i torna a enviar el valor a la persona que truca i continua l'execució del programa des de l'última declaració de rendiment. |
Lògicament, una funció només hauria de tenir una sentència return. | Podria haver-hi més d’una sentència de rendiment dins de la funció. |
La declaració de retorn només es pot executar una vegada. | La declaració de rendiment es pot executar diverses vegades. |
La sentència return es col·loca dins d'una funció normal de Python. | La sentència de rendiment converteix una funció regular en una funció generadora. |
Exemple 1: Retorn vs. Rendiment
Ara, vegem la diferència entre declaracions de rendiment i rendiment a través d’exemples. A l'exemple de programa que es mostra a continuació, hem utilitzat diverses declaracions de retorn. Podeu observar que l'execució del programa finalitzarà després de la primera declaració de retorn i que la resta del codi no s'executarà.
#un programa per mostrar el funcionament de la declaració de devolució
#definir una variable numèrica
num1=10
#definir una variable numèrica
num2=20
#creació d'una funció per realitzar operacions aritmètiques
def mathOP():
#calcular el valor suma
tornarnum1+num2
#calculant la diferència
tornarnum1-num2
#calcular el valor de multiplicació
tornarnum1*num2
#calcular el valor de la divisió
tornarnum1/num2
# cridant la funció
imprimir(mathOP())
Sortida
A la sortida, es pot veure que la funció només retorna el primer valor i el programa s’acaba.
Per realitzar una tasca similar amb múltiples sentències de retorn, hem de crear quatre funcions diferents per a cada tipus d'operació aritmètica.
#un programa per mostrar el funcionament de la declaració de devolució#definir una variable numèrica
num1=10
#definir una variable numèrica
num2=20
#creació d'una funció per realitzar operacions aritmètiques
def sumOP():
#calcular el valor suma
tornarnum1+num2
def restarOP():
#calculant la diferència
tornarnum1-num2
multiplicació defOP():
#calcular el valor de multiplicació
tornarnum1*num2
def divisionOP():
#calcular el valor de la divisió
tornarnum1/num2
# cridant la funció suma
imprimir('El valor suma és:',sumOP())
#calling la funció de resta
imprimir('El valor de la diferència és:',restarOP())
# cridant la funció de multiplicar
imprimir('El valor de multiplicació és:',multiplicacióOP())
# cridant la funció de divisió
imprimir('El valor de la divisió és:',divisionOP())
Sortida
Podem realitzar aquestes múltiples operacions aritmètiques dins d’una funció de generador únic amb múltiples sentències de rendiment.
#un programa per mostrar el funcionament de la declaració de rendiment#definir una variable numèrica
num1=10
#definir una variable numèrica
num2=20
#creació d'una funció per realitzar operacions aritmètiques
def mathOP():
#calcular el valor suma
rendimentnum1+num2
#calculant la diferència
rendimentnum1-num2
#calcular el valor de multiplicació
rendimentnum1*num2
#calcular el valor de la divisió
rendimentnum1/num2
# cridant la funció
imprimir('Impressió dels valors:')
#using for loop per accedir als valors de l'objecte generador
perjo en mathOP():
imprimir(jo)
Sortida
Exemple 2: Retorn vs. Rendiment
Vegem un altre exemple d’estats de retorn i rendiment. A l'exemple donat, tenim una llista de nombres que es passa a la funció mod () com a argument. Estem realitzant l’operació del mòdul en cada número de llista i comprovant quins són aquests números quan es divideix per 10 retornen zero com a valor restant.
En primer lloc, implementem aquest exemple al nostre script Python amb declaració return.
#definir una llista de númerosla meva llista=[10,20,25,30,35,40,50]
#definir una funció per realitzar l'operació del mòdul
def mod(la meva llista):
pera la meva llista:
#operació del mòdul de rendiment
si(jo%10==0):
tornarjo
imprimir(en contra(la meva llista))
Sortida
La declaració de retorn només retorna el primer número a la persona que truca i finalitza l'execució de la funció.
Ara, implementem el mateix exemple al nostre script Python amb la declaració de rendiment.
#definir una llista de númerosla meva llista=[10,20,25,30,35,40,50]
#definir una funció per realitzar l'operació del mòdul
def mod(la meva llista):
pera la meva llista:
#operació del mòdul de rendiment
si(jo%10==0):
#la declaració de rendiment
rendimentjo
peri en mod(la meva llista):
imprimir(jo)
Sortida
Conclusió
En conclusió, el retorn i el rendiment són dues paraules o instruccions Python incorporades. La declaració de retorn s’utilitza per retornar el valor a la persona que truca des d’una funció i finalitza l’execució del programa, mentre que la declaració de rendiment produeix un objecte generador i pot retornar els múltiples valors a la persona que truca sense finalitzar l’execució del programa. En aquest article es detallen totes les diferències destacades entre declaracions de rendiment i rendiment amb exemples.