⊗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 файлдарын колдонобуз. Маалыматтарды иштетүү Маалыматты коргоо саясаты боюнча жүргүзүлөт.
баарын кабыл алуу ыңгайлаштыруу четке кагуу