Python je najbežnejšie používaný univerzálny programovací jazyk poslednej doby. Výnos je zabudované kľúčové slovo Python, ktoré sa používa na vytvorenie funkcií generátora. Jeho funkcia generuje sériu výsledkov. Pozastaví vykonávanie programu, odošle výslednú hodnotu späť volajúcemu a obnoví vykonávanie od posledného výnosu. Okrem toho funkcia výnosu odosiela vygenerovanú sériu výsledkov vo forme objektu generátora. Na druhú stranu, návrat je tiež zabudované kľúčové slovo v Pythone, ktoré ukončí funkciu a odošle hodnotu späť volajúcemu.
Tento článok na príkladoch načrtáva rozdiely medzi výnosom a výnosmi.
Rozdiely medzi výnosom a výnosom
Na začiatok existuje veľa významných rozdielov medzi výnosom a výnosom. Najskôr si povedzme, čo to je.
Návrat | Výťažok |
---|---|
Príkaz return vráti volajúcemu iba jednu hodnotu. | Výkaz výnosov môže volajúcemu vrátiť sériu výsledkov vo forme objektu generátora. |
Návrat ukončí funkciu a v prípade slučky túto slučku zruší. Je to posledný príkaz, ktorý sa umiestni do funkcie. | Nezruší lokálne premenné funkcie. Pozastaví vykonávanie a odošle hodnotu späť volajúcemu a pokračuje v vykonávaní programu od posledného výkazu výnosov. |
Logicky by funkcia mala mať iba návratový príkaz. | Vo vnútri funkcie môže byť viac ako jeden údaj o výťažku. |
Výkaz na vrátenie je možné spustiť iba raz. | Výkaz výnosov je možné spustiť viackrát. |
Príkaz return je umiestnený vo vnútri bežnej funkcie Pythonu. | Výnos prevedie bežnú funkciu na funkciu generátora. |
Príklad1: Návrat vs. Výťažok
Teraz sa pozrime na príklady rozdielov medzi výnosmi a výnosmi. V príkladovom programe uvedenom nižšie sme použili viac návratových príkazov. Môžete pozorovať, že vykonávanie programu sa ukončí po prvom návratovom príkaze a zvyšok kódu sa nevykoná.
# program na zobrazenie fungovania príkazu na vrátenie# definovanie číselnej premennej
num1 = 10
# definovanie premennej čísla
num2 = 20
#vytvorenie funkcie na vykonávanie aritmetických operácií
def mathOP ():
# výpočet hodnoty sumy
návrat num1 + num2
#vypočet rozdielu
návrat num1-num2
# výpočet hodnoty násobenia
návrat num1 * num2
# výpočet hodnoty divízie
návrat num1 / num2
#volanie funkcie
tlač (mathOP ())
Výkon
Na výstupe je vidieť, že funkcia vráti iba prvú hodnotu a program je ukončený.
Ak chcete vykonať podobnú úlohu s viacerými návratovými príkazmi, musíme pre každý typ aritmetickej operácie vytvoriť štyri rôzne funkcie.
# program na zobrazenie fungovania príkazu na vrátenie# definovanie premennej čísla
num1 = 10
# definovanie číselnej premennej
num2 = 20
#vytvorenie funkcie na vykonávanie aritmetických operácií
def sumOP ():
# výpočet hodnoty sumy
návrat num1 + num2
def subtractOP ():
#vypočet rozdielu
návrat num1-num2
def multiplicationOP ():
# výpočet hodnoty násobenia
návrat num1 * num2
def divisionOP ():
# výpočet hodnoty divízie
návrat num1 / num2
#volanie funkcie súčtu
print ("Hodnota súčtu je:", sumOP ())
#volanie funkcie odčítania
print ("Hodnota rozdielu je:", subtractOP ())
#volanie funkcie násobenia
print ("Hodnota násobenia je:", multiplicationOP ())
#volanie funkcie rozdelenia
print ("Hodnota divízie je:", divisionOP ())
Výkon
Tieto viacpočetné aritmetické operácie môžeme vykonávať vo vnútri jednej funkcie generátora s viacerými výkazmi výnosov.
# program na zobrazenie fungovania výkazu výnosov# definovanie číselnej premennej
num1 = 10
# definovanie číselnej premennej
num2 = 20
#vytvorenie funkcie na vykonávanie aritmetických operácií
def mathOP ():
# výpočet hodnoty sumy
výnos num1 + num2
#vypočet rozdielu
výťažok num1-num2
# výpočet hodnoty násobenia
výnos num1 * num2
# výpočet hodnoty divízie
výťažok num1 / num2
#volanie funkcie
print ("Tlač hodnôt:")
# using for loop na prístup k hodnotám z objektu generátora
pre i v mathOP ():
tlač (i)
Výkon
Príklad2: Návrat vs. Výťažok
Pozrime sa na ďalší príklad výkazov výnosov a výnosov. V uvedenom príklade máme zoznam čísel, ktoré sú odovzdané funkcii mod () ako argument. Vykonávame operáciu modulu na každom čísle zoznamu a kontrolujeme, čo sú to za čísla, keď ich vydelíme 10 a vrátime nulu ako zvyšnú hodnotu.
Najskôr implementujme tento príklad v našom skripte Python s príkazom return.
# definovanie zoznamu číselmyList = [10,20,25,30,35,40,50]
# definovanie funkcie na vykonanie operácie modulu
def mod (myList):
pre i v mojom zozname:
#performing moduleus operation
if (i% 10 == 0):
vrátiť i
print (mod (myList))
Výkon
Príkaz return vráti volajúcemu iba prvé číslo a ukončí vykonávanie funkcie.
Teraz poďme implementovať ten istý príklad do nášho skriptu Python s výkazom výnosov.
# definovanie zoznamu číselmyList = [10,20,25,30,35,40,50]
# definovanie funkcie na vykonanie operácie modulu
def mod (myList):
pre i v mojom zozname:
#performing moduleus operation
if (i% 10 == 0):
# výkaz výnosov
výnos i
pre i v režime (myList):
tlač (i)
Výkon
Záver
Záverom je, že návratnosť a výnos sú dve vstavané kľúčové slová alebo príkazy Pythonu. Príkaz return sa používa na vrátenie hodnoty volajúcemu z funkcie a ukončí vykonávanie programu, zatiaľ čo príkaz yield vytvorí objekt generátora a môže volajúcemu vrátiť viac hodnôt bez ukončenia vykonávania programu. V tomto článku sú uvedené všetky výrazné rozdiely medzi výkazmi výnosov a výnosov a príklady.