Python je široko korišteni programski jezik opće namjene novijeg doba. Prinos je ugrađena ključna riječ Python koja se koristi za stvaranje funkcija generatora. Njegova funkcija generira niz rezultata. Pauzira izvršenje programa, šalje vrijednost rezultata natrag pozivatelju i nastavlja izvršavanje od posljednjeg prinosa. Osim toga, funkcija prinosa šalje generirani niz rezultata u obliku objekta generatora. S druge strane, return je također ugrađena ključna riječ u Pythonu koja završava funkciju i šalje vrijednost natrag pozivatelju.
Ovaj članak prikazuje primjere razlika između prinosa i prinosa.
Razlike između prinosa i povrata
Za početak, postoje mnoge istaknute razlike između prinosa i prinosa. Razmotrimo najprije što je to.
Povratak | Prinos |
---|---|
Izraz return vraća pozivatelju samo jednu vrijednost. | Izjava o prinosu može vratiti niz pozivatelja u obliku objekta generatora. |
Povratak izlazi iz funkcije, a u slučaju petlje odbacuje petlju. To je posljednji izraz koji se stavlja unutar funkcije. | Ne ukida lokalne varijable funkcije. Obustavlja izvršenje i šalje vrijednost natrag pozivatelju, te nastavlja izvođenje programa od posljednje izjave o prinosu. |
Logično, funkcija bi trebala imati samo povratni izraz. | Unutar funkcije može biti više izjava o prinosu. |
Izraz return može se pokrenuti samo jednom. | Izjava o prinosu može se pokrenuti više puta. |
Naredba return smještena je unutar regularne Python funkcije. | Izjava o prinosu pretvara regularnu funkciju u funkciju generatora. |
Primjer 1: Povrat u odnosu na prinos
Pogledajmo sada kroz primjere razliku između izjava o povratu i prinosu. U dolje navedenom primjeru programa koristili smo više izraza return. Možete primijetiti da će se izvršavanje programa završiti nakon prve naredbe return, a ostatak koda neće biti izveden.
#program za prikaz rada naredbe return
#definiranje brojčane varijable
broj1=10
#definiranje brojčane varijable
broj2=dvadeset
#creating funkcija za izvođenje aritmetičkih operacija
def mathOP():
#računavanje zbrojne vrijednosti
povratakbroj1+broj2
#računavanje razlike
povratakbroj1-broj2
#računavanje vrijednosti množenja
povratakbroj1*broj2
#računavanje vrijednosti podjele
povratakbroj1/broj2
#pozivanje funkcije
ispisati(mathOP())
Izlaz
U izlazu se može vidjeti da funkcija vraća samo prvu vrijednost, a program se prekida.
Da bismo izvršili sličan zadatak s više povratnih izraza, moramo stvoriti četiri različite funkcije za svaku vrstu aritmetičke operacije.
#program za prikaz rada naredbe return#definiranje brojčane varijable
broj1=10
#definiranje brojčane varijable
broj2=dvadeset
#creating funkcija za izvođenje aritmetičkih operacija
def sumOP():
#računavanje zbrojne vrijednosti
povratakbroj1+broj2
def oduzetiOP():
#računavanje razlike
povratakbroj1-broj2
def množenjeOP():
#računavanje vrijednosti množenja
povratakbroj1*broj2
def DivisionOP():
#računavanje vrijednosti podjele
povratakbroj1/broj2
#pozivanje funkcije zbroja
ispisati('Ukupna vrijednost je:',sumOP())
#pozivanje funkcije oduzimanja
ispisati('Vrijednost razlike je:',oduzmi OP())
#pozivanje funkcije množenja
ispisati('Vrijednost množenja je:',množenjeOP())
#pozivanje funkcije dijeljenja
ispisati('Vrijednost podjele je:',podjelaOP())
Izlaz
Ove više aritmetičkih operacija možemo izvesti unutar jedne funkcije generatora s više iskaza prinosa.
#program koji prikazuje rad izjave o prinosu#definiranje brojčane varijable
broj1=10
#definiranje brojčane varijable
broj2=dvadeset
#creating funkcija za izvođenje aritmetičkih operacija
def mathOP():
#računavanje zbrojne vrijednosti
prinosbroj1+broj2
#računavanje razlike
prinosbroj1-broj2
#računavanje vrijednosti množenja
prinosbroj1*broj2
#računavanje vrijednosti podjele
prinosbroj1/broj2
#pozivanje funkcije
ispisati('Ispis vrijednosti:')
#using for loop za pristup vrijednostima iz objekta generatora
zaja u mathOP -u():
ispisati(i)
Izlaz
Primjer 2: Povrat u odnosu na prinos
Pogledajmo još jedan primjer iskaza povrata i prinosa. U danom primjeru imamo popis brojeva koji se kao argument prosljeđuje funkciji mod (). Izvodimo operaciju modula na svakom broju popisa i provjeravamo koji su to brojevi podijeljeni s 10 i vraća nulu kao ostatak vrijednosti.
Prvo, implementirajmo ovaj primjer u našu Python skriptu s naredbom return.
#definiranje popisa brojevamyList=[10,dvadeset,25,30,35,40,pedeset]
#definiranje funkcije za izvođenje operacije modula
def mod(myList):
zaja na mojoj listi:
#izvođenje modularnog rada
ako(i%10==0):
povrataki
ispisati(protiv(myList))
Izlaz
Izraz return samo pozivatelju vraća prvi broj i prekida izvršavanje funkcije.
Sada, implementirajmo isti primjer u našu Python skriptu s izjavom yield.
#definiranje popisa brojevamyList=[10,dvadeset,25,30,35,40,pedeset]
#definiranje funkcije za izvođenje operacije modula
def mod(myList):
zaja na mojoj listi:
#izvođenje modularnog rada
ako(i%10==0):
#izjava o prinosu
prinosi
zaja u mod(myList):
ispisati(i)
Izlaz
Zaključak
Zaključno, povrat i prinos dvije su ugrađene Python ključne riječi ili izrazi. Naredba return koristi se za vraćanje vrijednosti pozivatelju iz funkcije i prekida izvršavanje programa, dok izjava yield proizvodi objekt generatora i može vratiti više vrijednosti pozivatelju bez prekidanja izvođenja programa. Ovaj članak popisuje sve istaknute razlike između izjava o prinosu i prinosu s primjerima.