Rendiment de Python vs. Retorn

Python Yield Vs Return



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úmeros

la 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úmeros

la 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.