Python on viimase aja laialdaselt kasutatav üldotstarbeline programmeerimiskeel. Saagis on sisseehitatud Pythoni märksõna, mida kasutatakse generaatori funktsioonide loomiseks. Selle funktsioon loob rea tulemusi. See peatab programmi käivitamise, saadab tulemuse väärtuse helistajale tagasi ja jätkab täitmist viimasest tootlusest. Peale selle saadab saagise funktsioon genereeritud tulemuste rea generaatori objekti kujul. Teisalt on return ka Pythonis sisseehitatud märksõna, mis lõpetab funktsiooni ja saadab väärtuse helistajale tagasi.
Selles artiklis tuuakse näitena välja erinevused tootluse ja tootluse vahel.
Erinevused tootluse ja tagasipöördumise vahel
Alustuseks on tootluse ja tootluse vahel palju silmatorkavaid erinevusi. Arutame kõigepealt, mis need on.
Tagasi | Saagikus |
---|---|
Tagasilause tagastab helistajale ainult ühe väärtuse. | Tulususe avaldus võib helistajale tagastada rea tulemusi generaatori objekti kujul. |
Tagasipöördumine väljub funktsioonist ja tsükli korral loobub silmus. See on viimane lause, mis funktsiooni sisse paigutatakse. | See ei tühista funktsiooni kohalikke muutujaid. See peatab täitmise ja saadab väärtuse helistajale tagasi ning jätkab programmi täitmist viimasest tootluslausest. |
Loogiliselt peaks funktsioonil olema ainult return-lause. | Funktsiooni sees võib olla rohkem kui üks tootluslause. |
Tagastamise avaldust saab käivitada ainult üks kord. | Tulususe avaldust saab käitada mitu korda. |
Return-lause paigutatakse tavalise Pythoni funktsiooni sisse. | Saagise avaldus teisendab regulaarfunktsiooni generaatori funktsiooniks. |
Näide1: tagasitulek. Saagikus
Nüüd vaatame näidete abil tootluse ja tootluse avalduste erinevust. Allpool toodud näidisprogrammis oleme kasutanud mitut tagastuslauset. Võite täheldada, et programmi täitmine lõpetatakse pärast esimest tagastamislauset ja ülejäänud koodi ei käivitata.
# programm tagastamise avalduse toimimise näitamiseks#arvu muutuja määratlemine
num1 = 10
#arvu muutuja määratlemine
num2 = 20
# funktsiooni loomine aritmeetiliste toimingute tegemiseks
def mathOP ():
# summa väärtuse arvutamine
tagastage num1 + num2
# erinevuse arvutamine
tagastage num1-num2
# korrutusväärtuse arvutamine
tagastage num1 * num2
# jagunemise väärtuse arvutamine
tagastage num1 / num2
# funktsiooni kutsumine
print (mathOP ())
Väljund
Väljundis on näha, et funktsioon tagastab ainult esimese väärtuse ja programm lõpetatakse.
Mitme tagastuslausega sarnase ülesande täitmiseks peame looma iga aritmeetilise operatsiooni tüübi jaoks neli erinevat funktsiooni.
# programm tagastamise avalduse toimimise näitamiseks#arvu muutuja määratlemine
num1 = 10
#arvu muutuja määratlemine
num2 = 20
# funktsiooni loomine aritmeetiliste toimingute tegemiseks
def sumOP ():
# summa väärtuse arvutamine
tagastage num1 + num2
def lahuta OP ():
# erinevuse arvutamine
tagastage num1-num2
def korrutamine OP ():
# korrutusväärtuse arvutamine
tagastage num1 * num2
def jagamineOP ():
# jagunemise väärtuse arvutamine
tagastage num1 / num2
# summafunktsiooni kutsumine
print ("Summa väärtus on:", sumOP ())
# lahutamisfunktsiooni kutsumine
print ("Erinevuse väärtus on:", lahuta OP ())
# korrutamisfunktsiooni kutsumine
print ("Korrutise väärtus on:", korrutamineOP ())
# jagamisfunktsiooni kutsumine
print ("Jaotuse väärtus on:", jagamineOP ())
Väljund
Saame neid mitu aritmeetilist toimingut teha ühe generaatori funktsiooni sees mitme saagislausega.
# programm tootluse avalduse toimimise näitamiseks#arvu muutuja määratlemine
num1 = 10
#arvu muutuja määratlemine
num2 = 20
# funktsiooni loomine aritmeetiliste toimingute tegemiseks
def mathOP ():
# summa väärtuse arvutamine
saagis num1 + num2
# erinevuse arvutamine
saagis num1-num2
# korrutusväärtuse arvutamine
saagikus num1 * num2
# jagunemise väärtuse arvutamine
saagis num1 / num2
# funktsiooni kutsumine
print ("Väärtuste printimine:")
# using for loop, et pääseda juurde väärtustele generaatori objektilt
i jaoks matemaatikasOP ():
trükk (i)
Väljund
Näide2: tagasitulek vs. Saagikus
Vaatame veel ühte näidet tulu ja tootluse avaldustest. Antud näites on meil arvude loend, mis edastatakse funktsioonile mod () argumendina. Teostame moodulioperatsiooni iga loendi numbri korral ja kontrollime, mis on need arvud, kui need jagatakse 10-ga, tagastab ülejäänud väärtus nulliga.
Kõigepealt juurutagem seda näidet meie Pythoni skriptiga return-lausega.
#numbrite loendi määratleminemyList = [10,20,25,30,35,40,50]
#defunktsiooni määratlemine mooduli toimingu tegemiseks
def mod (myList):
i jaoks minu loendis:
#mooduli toimimine
kui (i% 10 == 0):
tagasi i
print (mod (myList))
Väljund
Tagasilause tagastab helistajale ainult esimese numbri ja lõpetab funktsiooni täitmise.
Rakendame nüüd sama näite Pythoni skriptis tootluslausega.
#numbrite loendi määratleminemyList = [10,20,25,30,35,40,50]
#defunktsiooni määratlemine mooduli toimingu tegemiseks
def mod (myList):
i jaoks minu loendis:
#mooduli toimimine
kui (i% 10 == 0):
#tulude aruanne
saagis i
i jaoks modis (myList):
trükk (i)
Väljund
Järeldus
Kokkuvõtteks võib öelda, et tootlus ja tootlus on kaks sisseehitatud Pythoni märksõna või lauset. Tagasilauset kasutatakse funktsiooni abil helistajale väärtuse tagastamiseks ja see lõpetab programmi täitmise, samal ajal kui tootluslause loob generaatori objekti ja võib mitu väärtust helistajale tagastada ilma programmi täitmist lõpetamata. Selles artiklis on loetletud kõik silmatorkavad erinevused tootluse ja tootluse avalduste vahel koos näidetega.