Python -tuotto

Python Yield



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ämiseksi
defhyppyfunktio(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 ilmoittaminen
defmyfunc():
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 laskemiseksi
deflaskuri():
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ä.