Pitone

Rendimento del pitone

Rendimento del pitone

Yield è una parola chiave incorporata in Python che restituisce i valori da una funzione. L'esecuzione della funzione non viene terminata. Piuttosto, restituisce il valore al chiamante e mantiene lo stato di esecuzione della funzione. L'esecuzione della funzione viene ripresa dall'ultima dichiarazione yield. La resa ci permette di produrre una sequenza di valori piuttosto che un valore. Viene utilizzato all'interno di un corpo funzione. La funzione che contiene una dichiarazione di rendimento è nota come funzione generatore.

Ci sono diversi vantaggi nel produrre parole chiave. Ad esempio, controlla l'allocazione della memoria e salva lo stato della variabile locale. Tuttavia, aumenta la complessità del codice.

Questo articolo spiega l'uso della parola chiave yield con esempi.

Sintassi di Yield

La sintassi del rendimento è semplice e diretta. Il rendimento viene avviato con la parola chiave yield e la sintassi come segue:

valore di rendimento

Esempi

Ora, vediamo degli esempi per comprendere l'uso e il funzionamento delle dichiarazioni di rendimento. Tradizionalmente, la parola chiave return termina l'esecuzione del programma e restituisce un valore alla fine, mentre yield restituisce la sequenza di valori. Non memorizza il valore in memoria e restituisce il valore al chiamante in fase di esecuzione. Nell'esempio riportato di seguito, viene definita una funzione generatore per determinare l'anno bisestile. Un salto è quell'anno in cui divisibile per quattro restituisce zero come resto. La parola chiave yield restituisce il valore dell'anno bisestile al chiamante. Poiché otterrà il valore di anno bisestile, metterà in pausa l'esecuzione del programma, restituirà il valore e quindi riprenderà l'esecuzione da dove è stata interrotta.

#dichiarare un generatore per determinare l'anno bisestile
def leapfunc(my_list):
per io nella mia_lista:
if(i%4==0):
#usando il rendimento
rendimi
#dichiarare la lista degli anni
year_list=[2010,2011,2012,2016,2020,2024]
print("Stampa dei valori dell'anno bisestile")
per x in leapfunc(year_list):
stampa(x)

Produzione

L'output mostra la serie degli anni bisestili.

Vediamo un altro esempio in cui la funzione generatore produce vari numeri e stringhe.

#dichiarare una funzione generatore
def myfunc():
resa "Marco"
rendi "Giovanni"
resa "Taylor"
cedo "Ivan"
resa 10
resa 20
resa 30
resa 40
resa 50
#chiamare e iterare attraverso la funzione generatore
per i in myfunc():
#stampa dei valori
stampa(i)

Produzione

Implementiamo una funzione generatore per calcolare e stampare il valore del cubo della sequenza di numeri. Stiamo generando i valori del cubo da 1 a 30.

#dichiarare una funzione generatore per calcolare il valore del cubo
def calcolo():
val=1
#il ciclo while infinito
mentre vero:
#calcolo cubo
rendimento val*val*val
#incrementa il valore di 1
val=val+1
print("I valori del cubo sono: ")
#richiamo della funzione generatore
for i in calcube():
se io>30:
rompere
stampa(i)

Produzione

L'output mostra il valore del cubo inferiore a 30.

Conclusione

Yield è una parola chiave incorporata in Python che non termina l'esecuzione del programma e genera una serie di valori. Rispetto alla parola chiave return, la parola chiave yield produce più valori e ritorna al chiamante. Questo articolo spiega la resa di Python con esempi.

SuperTuxKart per Linux
SuperTuxKart è un fantastico titolo progettato per offrirti l'esperienza di Mario Kart gratuitamente sul tuo sistema Linux. È piuttosto impegnativo e ...
Tutorial Battaglia per Wesnoth
The Battle for Wesnoth è uno dei giochi di strategia open source più popolari a cui puoi giocare in questo momento. Non solo questo gioco è in svilupp...
0 A.D. Tutorial
Tra i tanti giochi di strategia in circolazione, 0 A.D. riesce a distinguersi come un titolo completo e un gioco molto profondo e tattico nonostante s...