Python

Python raža vs. Atgriezties

Python raža vs. Atgriezties

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 sarakstu

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

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

Kā izmantot Xdotool, lai stimulētu peles klikšķus un taustiņsitienus Linux
Xdotool ir bezmaksas un atvērtā koda komandrindas rīks peles klikšķu un taustiņu simulāciju simulēšanai. Šajā rakstā būs īss ceļvedis par xdotool izma...
5 labākie ergonomiskie datoru peles izstrādājumi Linux
Vai ilgstoša datora lietošana izraisa sāpes plaukstas locītavā vai pirkstos? Vai jūs ciešat no stīvām locītavām un jums pastāvīgi ir jāspiež rokas? Va...
How to Change Mouse and Touchpad Settings Using Xinput in Linux
Most Linux distributions ship with “libinput” library by default to handle input events on a system. It can process input events on both Wayland and X...