Python hozam

Python Yield



A hozam egy Python beépített kulcsszó, amely egy függvény értékét adja vissza. A funkció végrehajtása nem fejeződik be. Inkább visszaadja az értéket a hívónak, és fenntartja a függvény végrehajtási állapotát. A függvény végrehajtása az utolsó hozamnyilatkozatból folytatódik. A hozam lehetővé teszi számunkra, hogy egy érték helyett sorozatot állítsunk elő. Funkciótestben használják. A hozamnyilatkozatot tartalmazó függvény generátor függvény.







A kulcsszavak előállításának számos előnye van. Például vezérli a memóriakiosztást, és menti a helyi változó állapotát. Ez azonban növeli a kód bonyolultságát.



Ez a cikk példákkal magyarázza a hozam kulcsszó használatát.



A hozam szintaxisa

A hozam szintaxisa egyszerű és érthető. A hozam a hozam kulcsszóval és a szintaxissal kezdődik az alábbiak szerint:





hozamérték

Példák

Most nézzünk példákat a hozamnyilatkozatok használatának és működésének megértéséhez. Hagyományosan a return kulcsszó leállítja a program végrehajtását, és egy értéket ad vissza a végén, míg a hozam az értékek sorrendjét adja vissza. Nem tárolja az értéket a memóriában, és futás közben visszaadja a hívónak. Az alábbi példában a szökőév meghatározásához generátorfüggvény van definiálva. Az ugrás az az év, amikor a négyes osztható nulla maradékként. A hozam kulcsszó a szökőév értékét adja vissza a hívónak. Mivel a szökőév értékét megkapja, leállítja a program végrehajtását, visszaadja az értéket, majd folytatja a végrehajtást onnan, ahol leállították.

#generátor deklarálása szökőév meghatározásához
defleapfunc(a listám):
számáraénban bena listám:
ha(én%4==0):
#hozam felhasználásával
hozamén
#az évek listájának kihirdetése
év_lista=[2010,2011,2012,2016,2020,2024]
nyomtatás(„A szökőév értékeinek nyomtatása”)
számáraxban benleapfunc(év_lista):
nyomtatás(x)

Kimenet



A kimenet a szökőévek sorozatát mutatja.

Lássunk egy másik példát, ahol a generátor függvény különböző számokat és karakterláncokat eredményez.

#generátor funkció deklarálása
defmyfunc():
hozam 'Mark'
hozam 'János'
hozam 'Taylor'
hozam 'Iván'
hozam 10
hozam húsz
hozam 30
hozam 40
hozam ötven
#hívás és iteráció a generátor funkción keresztül
számáraénban benmyfunc():
#értékek nyomtatása
nyomtatás(én)

Kimenet

Hajtsunk végre egy generátor függvényt a számsor kockaértékének kiszámításához és kinyomtatásához. A kocka értékeit 1 -től 30 -ig generáljuk.

#a generátor függvény deklarálása a kockaérték kiszámításához
defcalcube():
óra=1
#végtelen ciklus
míg Igaz:
#számláló kocka
hozamval * val * val
#érték növelése 1 -gyel
óra=val +1
nyomtatás('A kocka értékei:')
#a generátor funkció hívása
számáraénban bencalcube():
haén>30:
szünet
nyomtatás(én)

Kimenet

A kimenet 30 -nál kisebb kockaértéket mutat.

Következtetés

A Yield egy Python beépített kulcsszó, amely nem szünteti meg a program végrehajtását, és nem generál egy sor értéket. A visszatérési kulcsszóhoz képest a hozam kulcsszó több értéket állít elő, és visszatér a hívóhoz. Ez a cikk példákkal magyarázza a Python hozamot.