⊗pyPmFnFIF 20 of 129 menu

Funkce uvnitř funkce v Pythonu

V Pythonu je možné uvnitř jedněch funkcí deklarovat jiné. Předpokládejme, že máme vnější funkci outer, uvnitř které se nachází funkce inner:

def outer(): def inner(): pass

Výše uvedený příklad vypadá dostatečně jednoduše. Často však nastávají situace, kdy v těle funkce outer se kromě inner provádějí i další operace. Pro zjednodušení kódu by bylo možné vyjmout inner do vnějšího bloku kódu, ale tato funkce bude použita pouze jednou a pouze uvnitř funkce outer. Proto nemá smysl ji vyjímat ven.

Podívejme se na příklad, kdy se do funkce outer předá seznam. A pomocí funkce inner bude číselný prvek seznamu umocněn na druhou. K tomu po funkci inner deklarujeme prázdný seznam res, do kterého budou v cyklu ukládány prvky umocněné na druhou:

def outer(lst): def inner(num): return num ** 2 res = [] for el in lst: res.append(inner(el)) return res

Zavolejme funkci outer, předáme jí parametr seznam a vypišme výsledek do konzole:

print(outer([2, 3, 5])) # vypíše [4, 9, 25]

Napište vnější a vnitřní funkci, jejichž společná práce bude vypisovat každý řetězcový prvek seznamu s velkým počátečním písmenem.

Jsou dány funkce:

def func1(num): if num > 0: num += 2 return num def func2(iter): res = [] for el in iter: res.append(func1(el)) return res

Přepište kód tak, aby func1 byla vnitřní funkcí pro func2.

Čeština
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Používáme soubory cookie pro fungování webu, analýzu a personalizaci. Zpracování údajů probíhá v souladu s Zásadami ochrany osobních údajů.
přijmout vše přizpůsobit odmítnout