„Python“ išeiga

Python Yield



Išeiga yra „Python“ integruotas raktinis žodis, kuris grąžina funkcijos vertę (-es). Funkcijos vykdymas nenutraukiamas. Atvirkščiai, ji grąžina skambinančiajam vertę ir palaiko funkcijos vykdymo būseną. Funkcijos vykdymas atnaujinamas nuo paskutinės pajamingumo ataskaitos. Išeiga leidžia mums sukurti verčių seką, o ne vieną vertę. Jis naudojamas funkcinio kūno viduje. Funkcija, kurioje yra išeigos ataskaita, vadinama generatoriaus funkcija.







Yra keli raktinio žodžio pranašumai. Pavyzdžiui, jis kontroliuoja atminties paskirstymą ir išsaugo vietinio kintamojo būseną. Tačiau tai padidina kodo sudėtingumą.



Šiame straipsnyje pateikiami pavyzdžiai, kaip naudoti raktinio žodžio „derlius“ naudojimą.



Išeigos sintaksė

Derlingumo sintaksė paprasta ir aiški. Derlius pradedamas naudojant pajamingumo raktinį žodį ir sintaksę taip:





derliusvertės

Pavyzdžiai

Dabar pažiūrėkime pavyzdžius, kaip suprasti derlingumo ataskaitų naudojimą ir veikimą. Tradiciškai grąžinimo raktinis žodis nutraukia programos vykdymą ir pabaigoje grąžina vertę, o išeiga grąžina reikšmių seką. Jis nesaugo vertės atmintyje ir grąžina vertę skambinančiajam vykdymo metu. Toliau pateiktame pavyzdyje yra apibrėžta generatoriaus funkcija keliamiesiems metams nustatyti. Šuolis yra tie metai, kai dalijantis iš keturių, likutis gaunamas nulis. Pelningumo raktinis žodis grąžina skambinančiajam keliamųjų metų vertę. Kadangi jis gaus keliamųjų metų vertę, jis pristabdys programos vykdymą, grąžins vertę ir vėl pradės vykdyti iš ten, kur ji buvo sustabdyta.

#deklaruok generatorių, kad nustatytum keliamus metus
defleapfunc(my_list):
dėliįmy_list:
jei(aš%4==0):
#naudojant derlių
derliusi
#metų sąrašo paskelbimas
metų_sąrašas=[2010 m,2011 m,2012 m,2016 m,2020 m,2024 m]
spausdinti(„Keliamųjų metų verčių spausdinimas“)
dėlxįleapfunc(metų_sąrašas):
spausdinti(x)

Išvestis



Rezultatas rodo keliamųjų metų seriją.

Pažiūrėkime kitą pavyzdį, kai generatoriaus funkcija pateikia įvairius skaičius ir eilutes.

#deklaruoti generatoriaus funkciją
defmyfunc():
derlius 'Ženklas'
derlius 'Jonas'
derlius „Taylor“
derlius 'Ivanas'
derlius 10
derlius dvidešimt
derlius 30
derlius 40
derlius penkiasdešimt
#skambinimas ir kartojimas naudojant generatoriaus funkciją
dėliįmyfunc():
#spausdinti vertes
spausdinti(i)

Išvestis

Įgyvendinkime generatoriaus funkciją, kad apskaičiuotume ir išspausdintume skaičių sekos kubo reikšmę. Kuriame kubo vertes nuo 1 iki 30.

#deklaruojant generatoriaus funkciją, kad būtų galima apskaičiuoti kubo vertę
defskaičiuoklė():
val=1
#begalinis ciklas
tuo tarpu Tiesa:
#skaičiuojamas kubas
derliusval * val * val
#didėjanti vertė 1
val=val+1
spausdinti(„Kubo vertės yra šios:“)
#kviečiant generatoriaus funkciją
dėliįskaičiuoklė():
jeii>30:
pertrauka
spausdinti(i)

Išvestis

Išvestis rodo, kad kubo vertė yra mažesnė nei 30.

Išvada

„Yield“ yra integruotas „Python“ raktinis žodis, kuris nenutraukia programos vykdymo ir nesukuria reikšmių serijos. Palyginti su grąžinimo raktiniu žodžiu, pajamingumo raktinis žodis sukuria kelias reikšmes ir grąžina skambinančiajam. Šiame straipsnyje paaiškinta „Python“ išeiga su pavyzdžiais.