Python je široce používaný univerzální programovací jazyk poslední doby. Výnos je předdefinované klíčové slovo Python, které se používá k vytvoření funkcí generátoru. Jeho funkce generuje řadu výsledků. Pozastaví provádění programu, odešle výslednou hodnotu zpět volajícímu a obnoví provádění od posledního výnosu. Kromě toho funkce výtěžku odesílá vygenerovanou sérii výsledků ve formě objektu generátoru. Na druhou stranu je návrat také vestavěné klíčové slovo v Pythonu, které ukončí funkci a odešle hodnotu zpět volajícímu.
Tento článek popisuje rozdíly mezi výnosem a výnosem na příkladech.
Rozdíly mezi výnosem a návratností
Pro začátek existuje mnoho výrazných rozdílů mezi výnosem a výnosem. Pojďme nejprve probrat, o co jde.
Vrátit se | Výtěžek |
---|---|
Příkaz return vrátí volajícímu pouze jednu hodnotu. | Výkaz výnosů může volajícímu vrátit řadu výsledků v podobě objektu generátoru. |
Návrat ukončí funkci a v případě smyčky smyčku odmítne. Je to poslední příkaz, který má být umístěn uvnitř funkce. | Nezruší lokální proměnné funkce. Pozastaví provádění a odešle hodnotu zpět volajícímu a pokračuje v provádění programu od posledního příkazu výtěžku. |
Logicky by funkce měla mít pouze návratový příkaz. | Ve funkci může být více než jedno prohlášení o výtěžku. |
Příkaz k vrácení lze spustit pouze jednou. | Výkaz výnosů lze spustit několikrát. |
Příkaz return je umístěn uvnitř běžné funkce Pythonu. | Výkaz výnosů převádí běžnou funkci na funkci generátoru. |
Příklad 1: Návrat vs. Výtěžek
Podívejme se nyní na rozdíly mezi výnosy a výnosy na příkladech. V níže uvedeném ukázkovém programu jsme použili několik návratových příkazů. Můžete pozorovat, že provádění programu bude ukončeno po prvním návratovém příkazu a zbytek kódu nebude proveden.
#a program, který zobrazuje fungování návratového příkazu# definování proměnné čísla
num1 = 10
# definování proměnné čísla
num2 = 20
# vytvoření funkce k provádění aritmetických operací
def mathOP ():
# výpočet hodnoty součtu
návrat num1 + num2
# výpočet rozdílu
návrat num1-num2
# výpočet hodnoty násobení
vrátit číslo1 * číslo2
# výpočet hodnoty dělení
vrátit číslo1 / číslo2
#volání funkce
tisk (mathOP ())
Výstup
Na výstupu je vidět, že funkce vrací pouze první hodnotu a program je ukončen.
K provedení podobného úkolu s více návratovými příkazy musíme vytvořit čtyři různé funkce pro každý typ aritmetické operace.
#a program, který ukazuje fungování návratového příkazu# definování proměnné čísla
num1 = 10
# definování proměnné čísla
num2 = 20
# vytvoření funkce k provádění aritmetických operací
def sumOP ():
# výpočet hodnoty součtu
návrat num1 + num2
def subtractOP ():
# výpočet rozdílu
návrat num1-num2
def multiplicationOP ():
# výpočet hodnoty násobení
vrátit číslo1 * číslo2
def divisionOP ():
# výpočet hodnoty dělení
vrátit číslo1 / číslo2
#volání funkce součtu
print ("Hodnota součtu je:", sumOP ())
#volání funkce odčítání
print ("Hodnota rozdílu je:", subtractOP ())
#volání funkce násobení
print ("Hodnota násobení je:", multiplicationOP ())
#volání funkce dělení
print ("Hodnota divize je:", divisionOP ())
Výstup
Tyto vícenásobné aritmetické operace můžeme provádět uvnitř jedné funkce generátoru s více výkazy výtěžku.
#a program, který zobrazuje fungování výkazu výnosů# definování proměnné čísla
num1 = 10
# definování proměnné čísla
num2 = 20
# vytvoření funkce k provádění aritmetických operací
def mathOP ():
# výpočet hodnoty součtu
výnos num1 + num2
# výpočet rozdílu
výtěžek num1-num2
# výpočet hodnoty násobení
výnos num1 * num2
# výpočet hodnoty dělení
výtěžek num1 / num2
#volání funkce
print ("Tisk hodnot:")
# using for loop pro přístup k hodnotám z objektu generátoru
pro i v mathOP ():
tisk (i)
Výstup
Příklad 2: Návrat vs. Výtěžek
Podívejme se na další příklad výkazů výnosů a výnosů. V uvedeném příkladu máme seznam čísel, která jsou předána funkci mod () jako argument. Provádíme operaci modulu na každém čísle seznamu a kontrolujeme, co jsou to za čísla, když je dělíme 10 a vracíme nulu jako zbývající hodnotu.
Nejprve implementujme tento příklad v našem skriptu Pythonu s příkazem return.
# definování seznamu číselmyList = [10,20,25,30,35,40,50]
# definování funkce k provedení operace modulu
def mod (myList):
pro i v myList:
#provedení provozu modulu
if (i% 10 == 0):
vrátit i
tisk (mod (myList))
Výstup
Příkaz return vrátí volajícímu pouze první číslo a ukončí provádění funkce.
Nyní pojďme implementovat stejný příklad v našem skriptu Python s výkazem výnosů.
# definování seznamu číselmyList = [10,20,25,30,35,40,50]
# definování funkce k provedení operace modulu
def mod (myList):
pro i v myList:
# provedení operace modulu
if (i% 10 == 0):
# výkaz výnosů
výnos i
pro i v mod (myList):
tisk (i)
Výstup
Závěr
Závěrem je, že návratnost a výnos jsou dvě předdefinovaná klíčová slova nebo příkazy Pythonu. Příkaz return se používá k vrácení hodnoty volajícímu z funkce a ukončí provádění programu, zatímco příkaz yield vytvoří objekt generátoru a může volajícímu vrátit více hodnot bez ukončení provádění programu. Tento článek uvádí všechny výrazné rozdíly mezi výnosy a výnosy s příklady.