Tuotto on Pythonin sisäänrakennettu avainsana, joka palauttaa funktion arvon. Toiminnon suorittamista ei lopeteta. Pikemminkin se palauttaa arvon soittajalle ja ylläpitää toiminnon suoritustilaa. Toiminnon suorittamista jatketaan viimeisestä tuottoilmoituksesta. Tuotto antaa meille mahdollisuuden tuottaa arvosarja yhden arvon sijasta. Sitä käytetään toiminnallisen rungon sisällä. Funktio, joka sisältää tuottolausunnon, tunnetaan nimellä generaattoritoiminto.
Avainsanan tuottamisella on useita etuja. Se esimerkiksi ohjaa muistin varausta ja tallentaa paikallisen muuttujan tilan. Se kuitenkin lisää koodin monimutkaisuutta.
Tässä artikkelissa kerrotaan tuotto -avainsanan käytöstä esimerkeillä.
Tuoton syntaksi
Tuoton syntaksi on yksinkertainen ja suoraviivainen. Tuotto aloitetaan tuotto -avainsanalla ja syntaksilla seuraavasti:
saantoarvo
Esimerkkejä
Katsotaanpa nyt esimerkkejä tuottoilmoitusten käytön ja työn 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. Alla olevassa esimerkissä määritetään generaattoritoiminto karkausvuoden määrittämiseksi. Harppaus on vuosi, jolloin jaollinen neljällä palauttaa nollan jäännökseksi. Tuotto -avainsana palauttaa soittajalle karkausvuoden arvon. Koska se saa karkausvuoden arvon, se keskeyttää ohjelman suorittamisen, palauttaa arvon ja jatkaa sitten suoritusta siitä, missä se lopetettiin.
#generaattorin ilmoittaminen karkausvuoden määrittämiseksidefhyppyfunktio(Minun listani):
vartenisisäänMinun listani:
jos(minä%4==0):
#tuottoa käyttämällä
saantoi
#vuosiluettelon ilmoittaminen
vuosi_luettelo=[2010,2011,2012,2016,2020,2024]
Tulosta('Karkausvuoden arvojen tulostaminen')
vartenxsisäänhyppyfunktio(vuosi_luettelo):
Tulosta(x)
Lähtö
Tulos näyttää karkausvuosien sarjan.
Katsotaanpa toinen esimerkki, jossa generaattoritoiminto tuottaa erilaisia numeroita ja merkkijonoja.
#generaattoritoiminnon ilmoittaminendefmyfunc():
saanto 'Merkitse'
saanto 'John'
saanto 'Taylor'
saanto 'Ivan'
saanto 10
saanto kaksikymmentä
saanto 30
saanto 40
saanto viisikymmentä
#soitto ja iterointi generaattoritoiminnon kautta
vartenisisäänmyfunc():
#tulostusarvot
Tulosta(i)
Lähtö
Otetaan käyttöön generaattoritoiminto, joka laskee ja tulostaa numerosarjan kuutioarvon. Luomme kuutioarvot 1-30.
#generaattoritoiminnon ilmoittaminen kuution arvon laskemiseksideflaskuri():
tuntia=1
#ääretön while -silmukka
sillä aikaa Totta:
#laskeutuva kuutio
saantoval * val * val
#parantaa arvoa 1
tuntia=val +1
Tulosta('Kuutioarvot ovat:')
#soittaminen generaattoritoiminnolle
vartenisisäänlaskuri():
josi>30:
tauko
Tulosta(i)
Lähtö
Tulos näyttää kuution arvon alle 30.
Johtopäätös
Yield on Pythonin sisäänrakennettu avainsana, joka ei lopeta ohjelman suorittamista ja luo arvosarjaa. Paluu -avainsanaan verrattuna tuotto -avainsana tuottaa useita arvoja ja palauttaa soittajalle. Tämä artikkeli selittää Python -tuoton esimerkeillä.