Utbyte är ett inbyggt Python-nyckelord som returnerar värdet (erna) från en funktion. Körningen av funktionen avslutas inte. Snarare returnerar den värdet till den som ringer och bibehåller exekveringstillståndet för funktionen. Körningen av funktionen återupptas från det senaste avkastningsuttalandet. Avkastningen tillåter oss att producera en sekvens av värden snarare än ett värde. Den används i en funktionskropp. Funktionen som innehåller ett avkastningsuttalande kallas generatorfunktionen.
Det finns flera fördelar med att ge sökord. Till exempel styr den minnesallokeringen och sparar det lokala variabla tillståndet. Det ökar dock kodens komplexitet.
Den här artikeln förklarar användningen av avkastningsnyckelordet med exempel.
Avkastningssyntax
Avkastningssyntaxen är enkel och okomplicerad. Utbytet initieras med avkastningsnyckelordet och syntax enligt följande:
avkastningsvärdeExempel
Låt oss nu se exempel för att förstå användningen och verket av avkastningsuttalanden. Traditionellt avslutar returnyckelordet körningen av programmet och returnerar ett värde i slutet, medan avkastningen returnerar sekvensen av värden. Det lagrar inte värdet i minnet och returnerar värdet till den som ringer vid körtiden. I exemplet nedan definieras en generatorfunktion för att bestämma skottåret. Ett språng är det året då delbart med fyra returnerar noll som en återstod. Avkastningsnyckelordet returnerar skottårets värde till den som ringer. Eftersom det kommer att få värdet av skottåret kommer det att pausa programkörningen, returnera värdet och återuppta sedan körningen från där det stoppades.
#declaring en generator för att bestämma skottårdef leapfunc (min_lista):
för jag i min_lista:
om (i% 4 == 0):
#användande avkastning
avkastning i
# förklarar årslistan
year_list = [2010,2011,2012,2016,2020,2024]
skriva ut ("Skriva ut skottårsvärdena")
för x i leapfunc (årslista):
skriva ut (x)
Produktion
Resultatet visar serien av skottår.
Låt oss se ett annat exempel där generatorfunktionen ger olika nummer och strängar.
#declaring en generatorfunktiondef myfunc ():
ge "Mark"
ge "John"
ge "Taylor"
ge "Ivan"
utbyte 10
utbyte 20
utbyte 30
utbyte 40
utbyte 50
#calling och iterating genom generatorfunktionen
för jag i myfunc ():
#printing värden
skriva ut (i)
Produktion
Låt oss implementera en generatorfunktion för att beräkna och skriva ut kubvärdet för nummersekvensen. Vi genererar kubvärdena från 1 till 30.
#declaring en generatorfunktion för att beräkna kubvärdetdef calcube ():
val = 1
# det oändliga medan slingan
medan det är sant:
#calcumating kub
avkastningsvärde * val * val
#inkrementing value med 1
val = val + 1
print ("Kubvärdena är:")
#calling generatorfunktionen
för i i calcube ():
om jag> 30:
ha sönder
skriva ut (i)
Produktion
Utgången visar kubvärdet mindre än 30.
Slutsats
Yield är ett inbyggt Python-nyckelord som inte avslutar körningen av programmet och genererar en serie värden. I jämförelse med returnyckelordet ger avkastningsnyckelordet flera värden och återgår till den som ringer. Den här artikeln förklarar Python-avkastningen med exempel.