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 metusdefleapfunc(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.