Rendiment de Python

Python Yield



Yield és una paraula clau integrada de Python que retorna els valors d'una funció. L'execució de la funció no s'acaba. Més aviat, retorna el valor a la persona que truca i manté l'estat d'execució de la funció. L'execució de la funció es reprèn a partir de l'última sentència de rendiment. El rendiment ens permet produir una seqüència de valors en lloc d’un valor. S'utilitza dins d'un cos de funció. La funció que conté una declaració de rendiment es coneix com a funció generadora.







Hi ha diversos avantatges per obtenir paraules clau. Per exemple, controla l'assignació de memòria i desa l'estat de la variable local. No obstant això, augmenta la complexitat del codi.



En aquest article s’explica l’ús de la paraula clau rendiment amb exemples.



Sintaxi del rendiment

La sintaxi de rendiment és senzilla i directa. El rendiment s'inicia amb la paraula clau i la sintaxi de rendiment de la següent manera:





rendimentvalor

Exemples

Ara, vegem exemples per entendre l’ús i les obres de les declaracions de rendiment. Tradicionalment, la paraula clau retorn finalitza l'execució del programa i retorna un valor al final, mentre que rendiment retorna la seqüència de valors. No emmagatzema el valor a la memòria i retorna el valor a la persona que truca en temps d'execució. A l'exemple següent, es defineix una funció generadora per determinar l'any de traspàs. Un salt és aquell any en què el divisible per quatre retorna el zero com a resta. La paraula clau de rendiment retorna el valor de l'any bisest a la persona que truca. Com que obtindrà el valor de l'any bisest, posarà en pausa l'execució del programa, retornarà el valor i, a continuació, reprendrà l'execució des d'on es va aturar.

# declarar un generador per determinar l'any de traspàs
defleapfunc(la meva llista):
perjodinsla meva_lista:
si(jo%4==0):
#utilitzant rendiment
rendimentjo
#declaració de la llista d'anys
llista_any=[2010,2011,2012,2016,2020,2024]
imprimir('Impressió dels valors de l'any bixest')
perxdinsleapfunc(llista_any):
imprimir(x)

Sortida



La producció mostra la sèrie dels anys de traspàs.

Vegem un altre exemple en què la funció generadora genera diversos números i cadenes.

#declarar una funció generadora
defmyfunc():
rendiment 'Senyal'
rendiment 'John'
rendiment 'Taylor'
rendiment 'Ivan'
rendiment 10
rendiment 20
rendiment 30
rendiment 40
rendiment 50
#calling i iteració a través de la funció de generador
perjodinsmyfunc():
#printing valors
imprimir(jo)

Sortida

Implantem una funció generadora per calcular i imprimir el valor del cub de la seqüència de nombres. Estem generant els valors del cub de l’1 al 30.

#declarar una funció generadora per calcular el valor del cub
defcalcube():
hores=1
# el bucle while infinit
mentre És cert:
#calcumating cub
rendimentval * val * val
#incrementing value per 1
hores=val +1
imprimir('Els valors del cub són:')
# cridant la funció de generador
perjodinscalcube():
sijo>30:
trencar
imprimir(jo)

Sortida

La sortida mostra el valor del cub inferior a 30.

Conclusió

Yield és una paraula clau integrada de Python que no finalitza l'execució del programa i genera una sèrie de valors. En comparació amb la paraula clau de retorn, la paraula clau de rendiment produeix diversos valors i torna a la persona que truca. Aquest article explica el rendiment de Python amb exemples.