Python Yield vs. Return

Python Yield Vs Return



Python este limbajul de programare general utilizat pe scară largă din vremurile recente. Randamentul este un cuvânt cheie Python încorporat care este utilizat pentru a crea funcțiile generatorului. Funcția sa generează o serie de rezultate. Se întrerupe executarea programului, trimite valoarea rezultatului înapoi către apelant și reia execuția de la ultimul randament. În afară de aceasta, funcția randament trimite seria de rezultate generate sub forma unui obiect generator. Pe de altă parte, returnarea este, de asemenea, un cuvânt cheie încorporat în Python care termină funcția și trimite valoarea înapoi către apelant.

Acest articol prezintă diferențele dintre randament și randamente cu exemple.







Diferențele dintre randament și rentabilitate

Pentru început, există multe diferențe importante între randament și randament. Să discutăm mai întâi ce sunt acestea.



Întoarcere Randament
Declarația de returnare returnează apelantului o singură valoare. Declarația de randament poate returna apelantului o serie de rezultate sub forma unui obiect generator.
Întoarcerea iese din funcție și, în cazul unei bucle, închide bucla. Este ultima afirmație care trebuie plasată în interiorul funcției. Nu elimină variabilele locale ale funcției. Suspendă execuția și trimite valoarea înapoi către apelant și continuă execuția programului de la ultima declarație de randament.
În mod logic, o funcție ar trebui să aibă doar o declarație return. În funcție ar putea exista mai multe declarații de randament.
Declarația return poate rula doar o singură dată. Declarația randament poate rula de mai multe ori.
Instrucțiunea return este plasată într-o funcție Python obișnuită. Declarația randament convertește o funcție regulată într-o funcție generator.

Exemplul 1: randament vs. randament

Acum, să vedem diferența dintre declarațiile de rentabilitate și randament prin exemple. În exemplul de program dat mai jos, am folosit mai multe instrucțiuni de returnare. Puteți observa că execuția programului se va încheia după prima declarație de returnare, iar restul codului nu va fi executat.



#un program pentru a arăta funcționarea declarației de returnare

#definirea unei variabile numerice

num1=10

#definirea unei variabile numerice

num2=douăzeci

#crearea unei funcții pentru a efectua operații aritmetice

def mathOP():

#calcularea sumei

întoarcerenum1+num2

#calculând diferența

întoarcerenum1-num2

#calcularea valorii multiplicării

întoarcerenum1*num2

#calcularea valorii diviziunii

întoarcerenum1/num2

# apelarea funcției

imprimare(mathOP())

Ieșire





În ieșire, se poate vedea că funcția returnează doar prima valoare, iar programul este terminat.



Pentru a efectua o sarcină similară cu mai multe instrucțiuni de returnare, trebuie să creăm patru funcții diferite pentru fiecare tip de operație aritmetică.

#un program pentru a arăta funcționarea declarației de returnare

#definirea unei variabile numerice

num1=10

#definirea unei variabile numerice

num2=douăzeci

#crearea unei funcții pentru a efectua operații aritmetice

def sumOP():

#calcularea sumei

întoarcerenum1+num2

def scade OP():

#calculând diferența

întoarcerenum1-num2

multiplicare defOP():

#calcularea valorii multiplicării

întoarcerenum1*num2

def divisionOP():

#calcularea valorii diviziunii

întoarcerenum1/num2

#calling funcția sumă

imprimare(„Valoarea sumă este:”,sumOP())

# apelarea funcției de scădere

imprimare(„Valoarea diferenței este:”,scade OP())

# apelând la funcția de multiplicare

imprimare(„Valoarea multiplicării este:”,multiplicareOP())

# apelarea funcției de divizare

imprimare(„Valoarea diviziunii este:”,diviziuneOP())

Ieșire

Putem efectua aceste operații aritmetice multiple într-o singură funcție generator cu declarații de randament multiple.

#un program pentru a arăta funcționarea declarației de randament

#definirea unei variabile numerice

num1=10

#definirea unei variabile numerice

num2=douăzeci

#crearea unei funcții pentru a efectua operații aritmetice

def mathOP():

#calcularea sumei

Randamentnum1+num2

#calculând diferența

Randamentnum1-num2

#calcularea valorii multiplicării

Randamentnum1*num2

#calcularea valorii diviziunii

Randamentnum1/num2

# apelarea funcției

imprimare(„Tipărirea valorilor:”)

# folosind bucla pentru a accesa valorile din obiectul generator

pentrueu în mathOP():

imprimare(eu)

Ieșire

Exemplul 2: randament vs. randament

Să vedem un alt exemplu de declarații de rentabilitate și randament. În exemplul dat, avem o listă de numere care este transmisă funcției mod () ca argument. Efectuăm operația de modul pe fiecare număr de listă și verificăm care sunt acele numere atunci când sunt împărțite la 10 returnează zero ca valoare rămasă.

Mai întâi, să implementăm acest exemplu în scriptul nostru Python cu declarație return.

#definirea unei liste de numere

lista mea=[10,douăzeci,25,30,35,40,cincizeci]

#definirea unei funcții pentru a efectua operația de modul

def mod(lista mea):

pentrueu în lista mea:

#funcționarea modulului performant

dacă(eu%10==0):

întoarcereeu

imprimare(împotriva(lista mea))

Ieșire

Declarația de returnare returnează primul număr către apelant și încetează executarea funcției.

Acum, să implementăm același exemplu în scriptul nostru Python cu declarația de randament.

#definirea unei liste de numere

lista mea=[10,douăzeci,25,30,35,40,cincizeci]

#definirea unei funcții pentru a efectua operația de modul

def mod(lista mea):

pentrueu în lista mea:

#funcționarea modulului performant

dacă(eu%10==0):

#declarația randamentului

Randamenteu

pentrui în mod(lista mea):

imprimare(eu)

Ieșire

Concluzie

În concluzie, randamentul și randamentul sunt două cuvinte cheie sau instrucțiuni Python încorporate. Instrucțiunea return este utilizată pentru a returna valoarea apelantului dintr-o funcție și pune capăt execuției programului, în timp ce instrucțiunea de randament produce un obiect generator și poate returna valorile multiple apelantului fără a termina execuția programului. Acest articol enumeră toate diferențele importante dintre declarațiile de rentabilitate și randament, cu exemple.