⊗pyPmFnFIF 20 of 129 menu

Funkcija funkcijoje Python

Python viduje vienų funkcijų galima aprašyti kitas. Tarkime, kad turime išorinę funkciją outer, kurios viduje yra funkcija inner:

def outer(): def inner(): pass

Aukščiau pateiktas pavyzdys atrodo pakankamai paprastas. Tačiau dažnai pasitaiko situacijų, kai funkcijos outer kūne, be inner, atliekami ir kiti veiksmai. Norint supaprastinti kodą, galima būtų išskirti inner į išorinį kodo bloką, tačiau ši funkcija bus panaudota tik vieną kartą ir tik funkcijos outer viduje. Todėl nėra prasmės ją išskirti.

Pažiūrėkime pavyzdį, kai į funkciją outer perduodamas sąrašas. O naudojant funkciją inner skaitmeninis sąrašo elementas bus pakeliamas kvadratu. Tam, po funkcijos inner aprašome tuščią sąrašą res, į kurį bus renkami elementai, pakelti kvadratu cikle:

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

Iškvikime funkciją outer, perduokime jai parametrą sąrašą ir išveskime rezultatą į konsolę:

print(outer([2, 3, 5])) # išves [4, 9, 25]

Parašykite išorinę ir vidinę funkcijas, kurių bendras veikimas išvestų kiekvieną eilutės sąrašo elementą didžiąja raide.

Duotos funkcijos:

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

Perrašykite kodą taip, kad func1 būtų vidine func2 funkcija.

Lietuvių
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Mes naudojame slapukus svetainės veikimui, analizei ir personalizavimui. Duomenų apdorojimas vyksta pagal Privatumo politiką.
priimti visus nustatyti atšaukti