⊗pyPmFnFIF 20 of 129 menu

Pythonда функция ичида функция

Pythonда бир функциялар ичида бошқаларини эълон қилиш мумкин. Фарз қилайлик, бизда outer ташқи функция мавжуд, унинг ичида inner функция жойлашган:

def outer(): def inner(): pass

Юқорида келтирилган мисол жуда оддий кўринишга эга. Аммо, кўп hолларда 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]

Рўйхатнинг hар бир сатр элементини бош hарф билан чиқарувчи ташқи ва ички функцияларни ёзинг.

Функциялар берилган:

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çeOʻzbekTiếng Việt
Биз веб-сайт ишлаши, таҳлил қилиш ва персоналлаштириш учун кукидан фойдаланамиз. Маълумотларни қайта ишлаш Махфийлик сиёсатига мувофиқ амалга оширилади.
ҳаммасини қабул қилиш мослаштириш рад этиш