Tuotto on sisäänrakennettu Python-avainsana, joka palauttaa funktion arvot. Toiminnon suorittamista ei lopeteta. Pikemminkin se palauttaa arvon soittajalle ja ylläpitää toiminnon suoritustilaa. Funktion suorittamista jatketaan viimeisestä tuottolausekkeesta. Tuotto antaa meille mahdollisuuden tuottaa arvosarja yhden arvon sijaan. Sitä käytetään toimintorungon sisällä. Funktio, joka sisältää tuottolausekkeen, tunnetaan generaattoritoimintona.
Hakusanalla on useita etuja. Esimerkiksi se ohjaa muistin allokointia ja tallentaa paikallisen muuttujan tilan. Se lisää kuitenkin koodin monimutkaisuutta.
Tässä artikkelissa selitetään tuotosavainsanan käyttöä esimerkkien avulla.
Tuottosyntaksi
Tuottosyntaksi on yksinkertainen ja suoraviivainen. Tuotto aloitetaan tuottoavainsanalla ja syntaksilla seuraavasti:
tuottoarvoEsimerkkejä
Katsotaanpa nyt esimerkkejä tuotolausekkeiden käytön ja toiminnan ymmärtämiseksi. Perinteisesti return-avainsana lopettaa ohjelman suorittamisen ja palauttaa arvon lopussa, kun taas tuotto palauttaa arvosarjan. Se ei tallenna arvoa muistiin ja palauttaa arvon soittajalle ajon aikana. Seuraavassa esimerkissä generaattoritoiminto määritetään karkausvuoden määrittämiseksi. Hyppy on vuosi, jolloin jaollinen neljällä palauttaa nollan loppuosan. Tuotto-avainsana palauttaa soittajalle karkausvuoden arvon. Kun se saa karkausvuoden arvon, se keskeyttää ohjelman suorituksen, palauttaa arvon ja jatkaa sitten suoritusta siitä, mihin se pysäytettiin.
#deklaroimalla generaattori karkausvuoden määrittämiseksidef leapfunc (my_list):
minulle i_listallani:
jos (i% 4 == 0):
#käyttää tuottoa
saanto i
# julistaa vuosiluettelon
vuosi_lista = [2010,2011,2012,2016,2020,2024]
print ("Karkausvuoden arvojen tulostaminen")
x: lle leapfuncissa (vuosi_lista):
tulosta (x)
Tuotos
Tuotos näyttää karkausvuosien sarjan.
Katsotaanpa toinen esimerkki, jossa generaattoritoiminto tuottaa useita numeroita ja merkkijonoja.
#generaattoritoiminnon julistaminendef myfunc ():
tuotto "Mark"
tuotto "John"
tuotto "Taylor"
tuotto "Ivan"
saanto 10
saanto 20
saanto 30
saanto 40
saanto 50
#puhelu ja iterointi generaattoritoiminnon kautta
i: lle myfuncissa ():
# tulostusarvot
tulosta (i)
Tuotos
Toteutetaan generaattoritoiminto laskemaan ja tulostamaan numerosarjan kuutioarvo. Luodaan kuutioarvot 1: stä 30: een.
#decenerator-funktion ilmoittaminen kuutioarvon laskemiseksidef calcube ():
val = 1
#the ääretön, kun silmukka
kun taas totta:
#laskeva kuutio
saanto val * val * val
#arvo kasvaa arvolla 1
val = val + 1
tulosta ("Kuution arvot ovat:")
# soitetaan generaattoritoiminnolle
i: lle laskennassa ():
jos i> 30:
tauko
tulosta (i)
Tuotos
Lähtö näyttää kuution arvon alle 30.
Johtopäätös
Tuotto on sisäänrakennettu Python-avainsana, joka ei lopeta ohjelman suoritusta ja luo arvosarjaa. Paluu-avainsanaan verrattuna tuotto-avainsana tuottaa useita arvoja ja palaa soittajalle. Tässä artikkelissa selitetään Python-tuotto esimerkkein.