Python

Pythoni saagikus

Pythoni saagikus

Saagis on Pythoni sisseehitatud märksõna, mis tagastab funktsiooni väärtuse (d). Funktsiooni täitmist ei lõpetata. Pigem tagastab see helistajale väärtuse ja säilitab funktsiooni täitmise oleku. Funktsiooni täitmist jätkatakse viimasest tootluslausest. Saagis võimaldab meil toota väärtuste jada, mitte ühe väärtuse. Seda kasutatakse funktsionaalse keha sees. Funktsiooni, mis sisaldab saagislauset, nimetatakse generaatori funktsiooniks.

Märksõna tootmisel on mitmeid eeliseid. Näiteks kontrollib see mälu jaotust ja salvestab kohaliku muutuja oleku. Kuid see suurendab koodi keerukust.

See artikkel selgitab tootluse märksõna kasutamist näidetega.

Saagise süntaks

Saagise süntaks on lihtne ja arusaadav. Saagikus algatatakse tootluse märksõna ja süntaksiga järgmiselt:

saagise väärtus

Näited

Nüüd vaatame näiteid, kuidas mõista tootluslausete kasutamist ja toiminguid. Traditsiooniliselt lõpetab tagastussõna märksõna programmi käivitamise ja tagastab väärtuse lõpus, saagis aga väärtuste jada. See ei salvesta väärtust mällu ja tagastab selle helistajale jooksmise ajal. Allpool toodud näites on hüppeaasta määramiseks määratletud generaatori funktsioon. Hüpe on see aasta, kui neljaga jagatav tagastab ülejäänud väärtusena nulli. Tootluse märksõna tagastab helistajale hüppeaasta väärtuse. Kuna see saab hüppeaasta väärtuse, peatab see programmi täitmise, tagastab väärtuse ja jätkab seejärel täitmist sealt, kus see peatati.

#deklaratsioon generaatorile, et määrata liigaasta
def leapfunc (minu_loend):
minu jaoks minu_loendis:
kui (i% 4 == 0):
#kasutatavus
saagis i
#deklaratsioon aastatest
aasta_loend = [2010,2011,2012,2016,2020,2024]
print ("Liigaasta väärtuste printimine")
x-le hüpikaknas (aasta_loend):
print (x)

Väljund

Väljund näitab liigaaste aastaid.

Vaatame veel ühte näidet, kus generaatori funktsioon annab erinevaid numbreid ja stringe.

#generaatori funktsiooni deklareerimine
def myfunc ():
saagis "Mark"
saagikus "John"
saagikus "Taylor"
saagikus "Ivan"
saagis 10
saagis 20
saagis 30
saagis 40
saagis 50
# helistamine ja itereerimine läbi generaatori funktsiooni
i jaoks minu funktsioonis ():
#printing väärtused
trükk (i)

Väljund

Rakendame arvude järjestuse kuupväärtuse arvutamiseks ja printimiseks generaatori funktsiooni. Genereerime kuubi väärtused vahemikus 1 kuni 30.

#kuupväärtuse arvutamiseks generaatori funktsiooni deklareerimine
def calcube ():
val = 1
# lõpmatu samal ajal silmus
tõsi:
#arvestav kuup
saagis val * val * val
# väärtuse suurendamine 1 võrra
val = val + 1
print ("Kuubi väärtused on:")
#generaatori funktsiooni kutsumine
i jaoks kalkubis ():
kui i> 30:
murda
trükk (i)

Väljund

Väljund näitab kuubi väärtust alla 30.

Järeldus

Saagikus on Pythoni sisseehitatud märksõna, mis ei lõpeta programmi käivitamist ega genereeri väärtuste jada. Võrreldes tagasipöörduva märksõnaga toodab tootluse märksõna mitu väärtust ja naaseb helistajale. Selles artiklis selgitatakse näidetega Pythoni saagikust.

Kuidas näidata FPS-loendurit Linuxi mängudes
Linuxi mängimine sai suure tõuke, kui Valve teatas Steam-kliendi ja nende mängude Linuxi toest 2012. aastal. Sellest ajast peale on paljud AAA- ja ind...
Sid Meieri Civilization VI allalaadimine ja mängimine Linuxis
Sissejuhatus mängu Civilization 6 on kaasaegne kontseptsioon, mis tutvustati Age of Empires mängude sarjas. Idee oli üsna lihtne; alustaksite kõige põ...
Kuidas installida ja mängida Doomi Linuxis
Doomi sissejuhatus Doom-seeria sai alguse 90ndatel pärast algse Doomi väljaandmist. See oli kohene hitt ja sellest ajast alates on mänguseeria pälvinu...