Python ir pēdējā laikā plaši izmantota vispārējas nozīmes programmēšanas valoda. Ienesīgums ir iebūvēts Python atslēgvārds, ko izmanto ģeneratora funkciju izveidošanai. Tās funkcija ģenerē virkni rezultātu. Tas aptur programmas izpildi, nosūta rezultāta vērtību atpakaļ zvanītājam un atsāk izpildi no pēdējās ienesīguma. Bez tam, ienesīguma funkcija nosūta izveidoto rezultātu sēriju ģeneratora objekta formā. No otras puses, atgriešanās ir arī iebūvēts atslēgvārds Python, kas pārtrauc funkciju un nosūta vērtību atpakaļ zvanītājam.
Šajā rakstā ir aprakstītas ienesīguma un ienesīguma atšķirības ar piemēriem.
Atšķirības starp ienesīgumu un atdevi
Vispirms ir daudz ievērojamu atšķirību starp ienesīgumu un ienesīgumu. Vispirms apspriedīsim, kas tie ir.
Atgriezties | Ienesīgums |
---|---|
Atgriešanās paziņojums zvanītājam atgriež tikai vienu vērtību. | Ienesīguma paziņojums var atgriezt zvanītājam rezultātu sēriju ģeneratora objekta veidā. |
Atgriešanās iziet no funkcijas, un cilpas gadījumā tā izlaiž cilpu. Tas ir pēdējais paziņojums, kas ievietots funkcijas iekšpusē. | Tas neatceļ funkcijas lokālos mainīgos. Tas aptur izpildi un nosūta vērtību atpakaļ zvanītājam un turpina programmas izpildi no pēdējā ienesīguma paziņojuma. |
Loģiski, funkcijai vajadzētu būt tikai atgriešanās priekšrakstam. | Funkcijas iekšienē varētu būt vairāk nekā viens ienesīguma paziņojums. |
Atgriešanās paziņojumu var izpildīt tikai vienu reizi. | Ienesīguma pārskats var darboties vairākas reizes. |
Atgriešanās paziņojums tiek ievietots parastas Python funkcijas iekšpusē. | Ienesīguma paziņojums regulāru funkciju pārveido par ģeneratora funkciju. |
1. piemērs: atgriešanās pret. Ienesīgums
Tagad, izmantojot piemērus, redzēsim atšķirību starp atdeves un ienesīguma paziņojumiem. Zemāk sniegtajā programmas piemērā mēs esam izmantojuši vairākus atgriešanās paziņojumus. Varat novērot, ka programmas izpilde tiks pārtraukta pēc pirmā atgriešanās paziņojuma, un pārējais kods netiks izpildīts.
# programma, lai parādītu atgriešanās paziņojuma darbību#defining skaitļa mainīgais
num1 = 10
#defining skaitļa mainīgais
num2 = 20
# funkcijas izveide aritmētisko darbību veikšanai
def mathOP ():
#summas vērtības aprēķināšana
atgriezt num1 + num2
# starpības aprēķināšana
atgriezt num1-num2
# reizināšanas vērtības aprēķināšana
atgriezt num1 * num2
# sadalījuma vērtības aprēķināšana
atgriezt num1 / num2
# zvana funkcijai
drukāt (mathOP ())
Rezultāts
Izejā var redzēt, ka funkcija atgriež tikai pirmo vērtību, un programma tiek pārtraukta.
Lai veiktu līdzīgu uzdevumu ar vairākiem atgriešanās apgalvojumiem, mums katram aritmētiskās darbības veidam ir jāizveido četras dažādas funkcijas.
# programma, lai parādītu atgriešanās paziņojuma darbību#defining skaitļa mainīgais
num1 = 10
#defining skaitļa mainīgais
num2 = 20
# funkcijas izveide aritmētisko darbību veikšanai
def sumOP ():
#summas vērtības aprēķināšana
atgriezt num1 + num2
def atņemtOP ():
# starpības aprēķināšana
atgriezt num1-num2
def reizināšana OP ():
# reizināšanas vērtības aprēķināšana
atgriezt num1 * num2
def sadalījums OP ():
# sadalījuma vērtības aprēķināšana
atgriezt num1 / num2
# zvana summas funkcija
drukāt ("Summas vērtība ir:", sumOP ())
#saucot atņemšanas funkciju
drukāt ("Starpības vērtība ir:", atņemtOP ())
#saucot reizināšanas funkciju
drukāt ("Reizināšanas vērtība ir:", reizināšanas OP ())
# zvana dalīšanas funkcija
drukāt ("Sadalījuma vērtība ir:", sadalījumsOP ())
Rezultāts
Šīs vairākas aritmētiskās darbības mēs varam veikt viena ģeneratora funkcijas iekšienē ar vairākiem ienesīguma paziņojumiem.
# programma, lai parādītu ienesīguma pārskata darbību#defining skaitļa mainīgais
num1 = 10
#defining skaitļa mainīgais
num2 = 20
# funkcijas izveide aritmētisko darbību veikšanai
def mathOP ():
#summas vērtības aprēķināšana
ienesīgums num1 + num2
# starpības aprēķināšana
ienesīgums num1-num2
# reizināšanas vērtības aprēķināšana
ienesīgums num1 * num2
# sadalījuma vērtības aprēķināšana
ienesīgums num1 / num2
# zvana funkcijai
print ("Vērtību drukāšana:")
#using for loop, lai piekļūtu vērtībām no ģeneratora objekta
i i matemātikāOP ():
drukāt (i)
Rezultāts
2. piemērs: atgriešanās pret. Ienesīgums
Apskatīsim vēl vienu peļņas un ienesīguma pārskatu piemēru. Šajā piemērā mums ir skaitļu saraksts, kas tiek nodots mod () funkcijai kā arguments. Mēs veicam moduļa darbību katram saraksta skaitlim un pārbaudām, kādi ir šie skaitļi, dalot ar 10, atgriežot nulli kā atlikušo vērtību.
Pirmkārt, ieviesīsim šo piemēru mūsu Python skriptā ar atgriešanās paziņojumu.
#definējot numuru sarakstumyList = [10,20,25,30,35,40,50]
#defining funkcija, lai veiktu moduļa darbību
def mod (myList):
priekš i myList:
# veicot moduļa darbību
ja (i% 10 == 0):
atgriešanās i
drukāt (mod (myList))
Rezultāts
Atgriešanās paziņojums zvanītājam atdod tikai pirmo numuru un pārtrauc funkcijas izpildi.
Tagad ieviesīsim to pašu piemēru mūsu Python skriptā ar ienesīguma paziņojumu.
#definējot numuru sarakstumyList = [10,20,25,30,35,40,50]
# funkcijas noteikšana moduļa darbības veikšanai
def mod (myList):
priekš i myList:
# veicot moduļa darbību
ja (i% 10 == 0):
# ienesīguma pārskats
ienesīgums i
i modē (myList):
drukāt (i)
Rezultāts
Secinājums
Visbeidzot, atdeve un ienesīgums ir divi iebūvēti Python atslēgvārdi vai priekšraksti. Atgriešanās paziņojums tiek izmantots, lai atgrieztu vērtību zvanītājam no funkcijas un pārtrauc programmas izpildi, savukārt ienesīguma paziņojums rada ģeneratora objektu un var atgriezt vairākas vērtības zvanītājam, nepārtraucot programmas izpildi. Šajā rakstā ir uzskaitītas visas ievērojamākās atdeves un ienesīguma pārskatu atšķirības ar piemēriem.