Výnos je integrované klíčové slovo v Pythonu, které vrací hodnoty z funkce. Výkon funkce není ukončen. Spíše vrátí hodnotu volajícímu a zachová stav provádění funkce. Výkon funkce je obnoven od posledního výkazu výnosů. Výnos nám umožňuje produkovat posloupnost hodnot spíše než jednu hodnotu. Používá se uvnitř funkčního těla. Funkce, která obsahuje prohlášení o výtěžku, se nazývá funkce generátoru.
Existuje několik výhod, jak získat klíčové slovo. Například řídí alokaci paměti a ukládá stav lokální proměnné. Zvyšuje však složitost kódu.
Tento článek vysvětluje použití klíčového slova výnos s příklady.
Syntaxe výnosu
Syntaxe výnosu je jednoduchá a přímá. Výtěžek je zahájen klíčovým slovem výtěžku a syntaxí takto:
hodnota výnosuPříklady
Nyní se podívejme na příklady, abychom porozuměli použití a práci výkazů výnosů. Tradičně návratové klíčové slovo ukončí provádění programu a vrátí hodnotu na konci, zatímco výnos vrátí sekvenci hodnot. Neukládá hodnotu do paměti a vrátí hodnotu volajícímu za běhu. V níže uvedeném příkladu je definována funkce generátoru pro určení přestupného roku. Skokem je ten rok, kdy dělitelný čtyřmi vrátí nulu jako zbytek. Klíčové slovo výnos vrátí volajícímu hodnotu přestupného roku. Protože získá hodnotu přestupného roku, pozastaví provádění programu, vrátí hodnotu a poté obnoví provádění od místa, kde bylo zastaveno.
# deklarování generátoru k určení přestupného rokudef leapfunc (my_list):
pro i v my_list:
if (i% 4 == 0):
# pomocí výtěžku
výnos i
# deklarování seznamu let
year_list = [2010,2011,2012,2016,2020,2024]
print ("Tisk hodnot přestupného roku")
pro x v leapfunc (year_list):
tisk (x)
Výstup
Výstup ukazuje řadu přestupných let.
Podívejme se na další příklad, kde funkce generátoru poskytuje různá čísla a řetězce.
# deklarování funkce generátorudef myfunc ():
výnos "Mark"
výnos "John"
výnos "Taylor"
výnos "Ivan"
výtěžek 10
výtěžek 20
výtěžek 30
výtěžek 40
výtěžek 50
#volání a iterace pomocí funkce generátoru
pro i v myfunc ():
#printing values
tisk (i)
Výstup
Pojďme implementovat funkci generátoru pro výpočet a tisk hodnoty krychle posloupnosti čísel. Generujeme hodnoty krychle od 1 do 30.
# deklarování funkce generátoru pro výpočet hodnoty krychledef calcube ():
val = 1
# nekonečná smyčka while
zatímco je pravda:
# výpočet kostky
výnos val * val * val
# zvýšení hodnoty o 1
val = val + 1
print ("Hodnoty krychle jsou:")
#volání funkce generátoru
pro i v calcube ():
pokud i> 30:
přestávka
tisk (i)
Výstup
Výstup zobrazuje hodnotu krychle menší než 30.
Závěr
Výnos je integrované klíčové slovo v Pythonu, které neukončí provádění programu a nevygeneruje řadu hodnot. Ve srovnání s návratovým klíčovým slovem produkuje klíčové slovo výnos více hodnot a vrátí se volajícímu. Tento článek vysvětluje výtěžek Pythonu pomocí příkladů.