Randament Python

Python Yield



Yield este un cuvânt cheie încorporat Python care returnează valoarea (valorile) dintr-o funcție. Executarea funcției nu este terminată. Mai degrabă, returnează valoarea apelantului și menține starea de execuție a funcției. Execuția funcției este reluată din ultima instrucțiune de randament. Randamentul ne permite să producem mai degrabă o secvență de valori decât o valoare. Este utilizat în interiorul unui corp funcțional. Funcția care conține o declarație de randament este cunoscută sub numele de funcție generator.







Există mai multe avantaje pentru a produce cuvinte cheie. De exemplu, controlează alocarea memoriei și salvează starea variabilei locale. Cu toate acestea, crește complexitatea codului.



Acest articol explică utilizarea cuvântului cheie randament cu exemple.



Sintaxa randamentului

Sintaxa randamentului este simplă și simplă. Randamentul este inițiat cu cuvântul cheie și sintaxa randament după cum urmează:





Randamentvaloare

Exemple

Acum, să vedem exemple pentru a înțelege utilizarea și funcționarea declarațiilor de randament. În mod tradițional, cuvântul cheie returnează încheie execuția programului și returnează o valoare la sfârșit, în timp ce randamentul returnează secvența de valori. Nu stochează valoarea în memorie și returnează valoarea apelantului în timpul rulării. În exemplul de mai jos, o funcție generator este definită pentru a determina anul bisect. Un salt este acel an când divizibilul cu patru returnează zero ca rest. Cuvântul cheie randament returnează apelantului valoarea anului bisect. Deoarece va obține valoarea de an bisect, va întrerupe execuția programului, va returna valoarea și apoi va relua execuția de unde a fost oprită.

#declararea unui generator pentru a determina anul bisect
defleapfunc(lista mea):
pentrueuînlista mea:
dacă(eu%4==0):
# folosind randamentul
Randamenteu
#declararea listei de ani
lista_anului=[2010,2011,2012,2016,2020,2024]
imprimare(„Tipărirea valorilor anului bisect”)
pentruXînleapfunc(lista_anului):
imprimare(X)

Ieșire



Rezultatul arată seria anilor bisecți.

Să vedem un alt exemplu în care funcția generator generează diferite numere și șiruri.

#declararea unei funcții generator
defmyfunc():
Randament 'Marcă'
Randament 'Ioan'
Randament „Taylor”
Randament „Ivan”
Randament 10
Randament douăzeci
Randament 30
Randament 40
Randament cincizeci
# apelare și repetare prin funcția generator
pentrueuînmyfunc():
#imprimarea valorilor
imprimare(eu)

Ieșire

Să implementăm o funcție generator pentru a calcula și tipări valoarea cubului succesiunii numerelor. Generăm valorile cubului de la 1 la 30.

#declararea unei funcții generator pentru a calcula valoarea cubului
defcalcube():
ore=1
# bucla infinită while
in timp ce Adevărat:
#calcumating cub
Randamentval * val * val
# valoare incrementală cu 1
ore=val +1
imprimare(„Valorile cubului sunt:”)
# apelarea funcției generator
pentrueuîncalcube():
dacăeu>30:
pauză
imprimare(eu)

Ieșire

Ieșirea arată valoarea cubului mai mică de 30.

Concluzie

Yield este un cuvânt cheie încorporat Python care nu pune capăt execuției programului și nu generează o serie de valori. În comparație cu cuvântul cheie return, cuvântul cheie randament produce mai multe valori și revine apelantului. Acest articol explică randamentul Python cu exemple.