Výtěžek Pythonu vs. návrat

Python Yield Vs Return



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()

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 čísel

mů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(%10==0):

vrátit se

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 čísel

mů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(%10==0):

#výkaz výnosů

výtěžek

projá v mod(můj seznam):

tisk()

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.