⊗pyPmFnFIF 20 of 129 menu

Функцыя ў функцыі ў Python

У Python унутры адных функцый можна аб'яўляць іншыя. Хай у нас ёсць знешняя функцыя 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ščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Мы выкарыстоўваем cookie для працы сайта, аналітыкі і персаналізацыі. Апрацоўка дадзеных адбываецца згодна Палітыкай канфідэнцыяльнасці.
прыняць усе наладзіць адхіліць