⊗pyPmFnFIF 20 of 129 menu

Функција у функцији у Пајтону

У Пајтону унутар једних функција могу се декларисати друге. Нека имамо спољну функцију outer, унутар које се налази функција inner:

def outer(): def inner(): pass

Горњи пример изгледа довољно једноставно. Међутим, често се јављају ситуације када у телу функције outer поред inner извршавају се и друге операције. За поједностављење кода могло би се извући inner у спољни блок кода, међутим ова функција ће бити искоришћена само једанпут и само унутар функције outer. Зато је извлачење изван њене границе без смисла.

Хајде да размотримо пример, када у функцију outer прослеђује листа. А помоћу функције inner нумерички елемент листе ће се подизати на квадрат. За то после функције inner декларишемо празну листу res, у којој ће се накупљати елементи, подигнути на квадрат у петљи:

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

Хајде да позовемо функцију outer, проследимо јој параметар листу и прикажимо резултат у конзоли:

print(outer([2, 3, 5])) # исписаће [4, 9, 25]

Напишите спољну и унутрашњу функцију, које заједно приказују сваки стринг елемент листе са почетним великим словом.

Дате су функције:

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

Препишите код тако да func1 буде унутрашња функција за func2.

Српски
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Користимо колачиће за рад сајта, аналитику и персонализацију. Обрада података се врши у складу са Политиком приватности.
прихвати све подеси одбиј