Python

Pythoni saagis vs. Tagasi

Pythoni saagis vs. Tagasi

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ääratlemine

myList = [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ääratlemine

myList = [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.

HD Remastered Games Linuxile, millel pole kunagi varem Linuxi väljalaset olnud
Paljud mängude arendajad ja kirjastajad pakuvad frantsiisi eluea pikendamiseks välja vanade mängude HD-remasteri. Palun fännid, kes soovivad ühilduvus...
Kuidas kasutada AutoKeyt Linuxi mängude automatiseerimiseks
AutoKey on Linuxi ja X11 töölaua automatiseerimise utiliit, mis on programmeeritud Python 3, GTK ja Qt. Selle skriptimise ja MACRO funktsionaalsuse ab...
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...