Python è il linguaggio di programmazione generico ampiamente utilizzato degli ultimi tempi. Il rendimento è una parola chiave Python incorporata che viene utilizzata per creare le funzioni del generatore. La sua funzione genera una serie di risultati. Mette in pausa l'esecuzione del programma, restituisce il valore del risultato al chiamante e riprende l'esecuzione dall'ultimo rendimento. Oltre a ciò, la funzione yield invia la serie di risultati generata sotto forma di un oggetto generatore. D'altra parte, il ritorno è anche una parola chiave incorporata in Python che termina la funzione e restituisce il valore al chiamante.
Questo articolo delinea le differenze tra rendimento e rendimenti con esempi.
Differenze tra rendimento e rendimento
Per cominciare, ci sono molte differenze importanti tra il rendimento e il rendimento. Parliamo prima di cosa sono questi.
Ritorno | dare la precedenza |
---|---|
L'istruzione return restituisce solo un singolo valore al chiamante. | L'istruzione yield può restituire una serie di risultati al chiamante sotto forma di un oggetto generatore. |
Il ritorno esce dalla funzione e, nel caso di un ciclo, chiude il ciclo. È l'ultima istruzione da inserire all'interno della funzione. | Non abolisce le variabili locali della funzione. Sospende l'esecuzione e invia il valore al chiamante e continua l'esecuzione del programma dall'ultima dichiarazione di rendimento. |
Logicamente, una funzione dovrebbe avere solo un'istruzione return. | Potrebbe esserci più di una dichiarazione di rendimento all'interno della funzione. |
L'istruzione return può essere eseguita solo una volta. | La dichiarazione di rendimento può essere eseguita più volte. |
L'istruzione return è posta all'interno di una normale funzione Python. | L'istruzione yield converte una funzione regolare in una funzione generatrice. |
Esempio 1: Ritorno vs. dare la precedenza
Ora, vediamo la differenza tra dichiarazioni return e yield attraverso esempi. Nel programma di esempio riportato di seguito, abbiamo utilizzato più istruzioni return. È possibile osservare che l'esecuzione del programma terminerà dopo la prima istruzione return e il resto del codice non verrà eseguito.
#un programma per mostrare il funzionamento dell'istruzione return#definire una variabile numerica
numero1 =10
#definire una variabile numerica
numero2=20
#creare una funzione per eseguire operazioni aritmetiche
def mathOP():
#calcolo del valore della somma
restituisce num1+num2
#calcolare la differenza
ritorna num1-num2
#calcolo del valore della moltiplicazione
restituisce num1*num2
#calcolo del valore della divisione
ritorna num1/num2
#chiamare la funzione
print(mathOP())
Produzione
Nell'output, si può vedere che la funzione restituisce solo il primo valore e il programma viene terminato.
Per eseguire un'attività simile con più istruzioni return, dobbiamo creare quattro diverse funzioni per ogni tipo di operazione aritmetica.
#un programma per mostrare il funzionamento dell'istruzione return#definire una variabile numerica
numero1 =10
#definire una variabile numerica
numero2=20
#creare una funzione per eseguire operazioni aritmetiche
def sommaOP():
#calcolo del valore della somma
restituisce num1+num2
def sottrazioneOP():
#calcolare la differenza
ritorna num1-num2
def moltiplicazioneOP():
#calcolo del valore della moltiplicazione
restituisce num1*num2
def divisioneOP():
#calcolo del valore della divisione
ritorna num1/num2
#chiamare la funzione somma
print("Il valore della somma è: ",sumOP())
#richiamo della funzione di sottrazione
print("Il valore della differenza è: ",subtractOP())
#chiamare la funzione di moltiplicazione
print("Il valore della moltiplicazione è: ",moltiplicazioneOP())
#chiamare la funzione di divisione
print("Il valore della divisione è: ",divisionOP())
Produzione
Possiamo eseguire queste operazioni aritmetiche multiple all'interno di una singola funzione generatore con più dichiarazioni di rendimento yield.
#un programma per mostrare il funzionamento della dichiarazione di rendimento#definire una variabile numerica
numero1 =10
#definire una variabile numerica
numero2=20
#creare una funzione per eseguire operazioni aritmetiche
def mathOP():
#calcolo del valore della somma
rendimento num1+num2
#calcolare la differenza
rendimento num1-num2
#calcolo del valore della moltiplicazione
resa num1*num2
#calcolo del valore della divisione
rendimento num1/num2
#chiamare la funzione
print("Stampa i valori:")
#usando il ciclo for per accedere ai valori dall'oggetto generatore
per i in mathOP():
stampa(i)
Produzione
Esempio 2: Ritorno vs. dare la precedenza
Vediamo un altro esempio di dichiarazioni return e yield. Nell'esempio dato, abbiamo un elenco di numeri che viene passato alla funzione mod() come argomento. Stiamo eseguendo l'operazione modulo su ciascun numero della lista e controllando quali sono quei numeri quando divisi per 10 restituiamo zero come valore di resto.
Innanzitutto, implementiamo questo esempio nel nostro script Python con l'istruzione return.
#definire una lista di numerimiaLista=[10,20,25,30,35,40,50]
#definizione di una funzione per eseguire l'operazione modulo
def mod(mialista):
per io nella mia lista:
#funzionamento modulo performante
if(i%10==0):
tornare io
print(mod(mialista))
Produzione
L'istruzione return restituisce solo il primo numero al chiamante e termina l'esecuzione della funzione.
Ora implementiamo lo stesso esempio nel nostro script Python con l'istruzione yield.
#definire una lista di numerimiaLista=[10,20,25,30,35,40,50]
#definizione di una funzione per eseguire l'operazione modulo
def mod(mialista):
per io nella mia lista:
#funzionamento modulo performante
if(i%10==0):
#la dichiarazione di rendimento
rendimi
per i in mod(myList):
stampa(i)
Produzione
Conclusione
In conclusione, il rendimento e il rendimento sono due parole chiave o istruzioni Python incorporate. L'istruzione return viene utilizzata per restituire il valore al chiamante da una funzione e termina l'esecuzione del programma, mentre l'istruzione yield produce un oggetto generatore e può restituire i valori multipli al chiamante senza terminare l'esecuzione del programma. Questo articolo elenca tutte le principali differenze tra le dichiarazioni di rendimento e rendimento con esempi.