Python je v poslední době široce používaný univerzální programovací jazyk. The yield je vestavěné klíčové slovo Python, které se používá k vytvář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 pokračuje v provádění od posledního výtěžku. Kromě toho funkce yield pošle vygenerovanou sérii výsledků ve formě objektu generátoru. Na druhé straně je návrat také integrovaným klíčovým slovem v Pythonu, které ukončí funkci a odešle hodnotu zpět volajícímu.
Tento článek na příkladech vysvětluje rozdíly mezi výnosem a výnosem.
Rozdíly mezi výnosem a výnosem
Za prvé, mezi výnosem a výnosem je mnoho výrazných rozdílů. Pojďme nejprve diskutovat, co to je.
Vrátit se | Výtěžek |
---|---|
Příkaz return vrací volající pouze jednu hodnotu. | Příkaz výnos může volajícímu vrátit sérii výsledků ve formě objektu generátoru. |
Návrat ukončí funkci a v případě smyčky smyčku zruší. 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 z posledního výnosu. |
Logicky by funkce měla mít pouze příkaz return. | Uvnitř funkce může být více než jedno prohlášení o výnosu. |
Návratový příkaz lze spustit pouze jednou. | Výkaz výnosu lze spustit vícekrát. |
Příkaz return je umístěn uvnitř běžné funkce Pythonu. | Výpis výnosů převádí běžnou funkci na funkci generátoru. |
Příklad 1: Návrat vs. výnos
Nyní se podívejme na rozdíl mezi výnosy a výnosy prostřednictvím příkladů. V níže uvedeném příkladu programu jsme použili více návratových příkazů. Můžete pozorovat, že provádění programu skončí po prvním návratovém příkazu a zbytek kódu nebude proveden.
#program, který ukazuje fungování příkazu return
#definování číselné proměnné
číslo 1=10
#definování číselné proměnné
num2=dvacet
#creating a function to perform arithmetic operations
def mathOP():
#Výpočet hodnoty součtu
vrátit sečíslo 1+num2
#vypočítat rozdíl
vrátit sečíslo 1-num2
#Výpočet hodnoty násobení
vrátit sečíslo 1*num2
#Výpočet hodnoty divize
vrátit sečíslo 1/num2
#vyvolá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 pro každý typ aritmetické operace vytvořit čtyři různé funkce.
#program, který ukazuje fungování příkazu return#definování číselné proměnné
číslo 1=10
#definování číselné proměnné
num2=dvacet
#creating a function to perform arithmetic operations
def sumOP():
#Výpočet hodnoty součtu
vrátit sečíslo 1+num2
def odečístOP():
#vypočítat rozdíl
vrátit sečíslo 1-num2
def multiplikace OP():
#Výpočet hodnoty násobení
vrátit sečíslo 1*num2
def divize OP():
#Výpočet hodnoty divize
vrátit sečíslo 1/num2
#volání funkce součet
tisk('Souhrnná hodnota je:',sumOP())
#volání funkce odčítání
tisk('Rozdílná hodnota je:',odečístOP())
#volání funkce násobení
tisk('Hodnota násobení je:',multiplikace OP())
#volání funkce rozdělení
tisk('Hodnota divize je:',divize OP())
Výstup
Tyto vícenásobné aritmetické operace můžeme provádět uvnitř funkce jednoho generátoru s více výnosy.
#program, který ukazuje fungování výnosu#definování číselné proměnné
číslo 1=10
#definování číselné proměnné
num2=dvacet
#creating a function to perform arithmetic operations
def mathOP():
#Výpočet hodnoty součtu
výtěžekčíslo 1+num2
#vypočítat rozdíl
výtěžekčíslo 1-num2
#Výpočet hodnoty násobení
výtěžekčíslo 1*num2
#Výpočet hodnoty divize
výtěžekčíslo 1/num2
#vyvolání funkce
tisk('Tisk hodnot:')
#using for loop pro přístup k hodnotám z objektu generátoru
projsem v mathOP():
tisk(já)
Výstup
Příklad 2: Návrat vs. výnos
Podívejme se na další příklad prohlášení o výnosech a výnosech. 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, jaká jsou tato čísla při dělení 10 návratovou nulou jako zbývající hodnotou.
Nejprve implementujme tento příklad v našem skriptu Pythonu s příkazem return.
#definování seznamu číselmůj seznam=[10,dvacet,25,30,35,40,padesátka]
#definování funkce k provedení operace modulu
def mod(můj seznam):
projá v myList:
#výkon modulu
-li(já%10==0):
vrátit sejá
tisk(proti(můj seznam))
Výstup
Příkaz return pouze vrátí volajícímu první číslo a ukončí provádění funkce.
Nyní implementujme stejný příklad do našeho skriptu Python pomocí příkazu yield.
#definování seznamu číselmůj seznam=[10,dvacet,25,30,35,40,padesátka]
#definování funkce k provedení operace modulu
def mod(můj seznam):
projá v myList:
#výkon modulu
-li(já%10==0):
#výkaz výnosů
výtěžekjá
projá v mod(můj seznam):
tisk(já)
Výstup
Závěr
Na závěr, návratnost a výnos jsou dvě předdefinovaná klíčová slova nebo příkazy Pythonu. Příkaz return slouží k vrácení hodnoty volajícímu z funkce a ukončení provádění programu, zatímco příkaz yield produkuje objekt generátoru a může volajícímu vrátit více hodnot bez ukončení provádění programu. Tento článek obsahuje seznam všech výrazných rozdílů mezi výnosy a výnosy s příklady.