⊗pyPmFnFIF 20 of 129 menu

Python-da funksiya icinde funksiya

Python-da bir funksiyalarin icinde basqalarini teyin etmek olar. Tutaq ki, bizim outer adli xarici funksiyamiz var, onun icinde ise inner funksiyasi yerlesir:

def outer(): def inner(): pass

Yuxaridaki numune kifayet qeder sade gorunur. Lakin tez-tez elə hallar olur ki, outer funksiyasinin bedeninde inner-den basqa emeliyyatlar da yerine yetirilir. Kodu sadelesdirmek ucun inner-ni xarici kod blokuna cixarmaq olar idi, lakin bu funksiya yalniz bir defe ve yalniz outer funksiyasinin daxilinde istifade olunacaq. Ona gore de onu xaricə cixartmagin menası yoxdur.

Gelin bir numuneye baxaq, burada outer funksiyasina siyahi oturulur. inner funksiyasi vasitesile ise siyahinin ededi elementi kvadrat qüvvete yukseldilir. Bunun ucun inner funksiyasindan sonra icinde kvadrata yukseldilmis elementlerin yigilacagi bos res siyahisini teyin edirik, dovrde:

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

Gelin outer funksiyasini cagiraq, ona parametr kimi siyahini otureq ve neticeni konsola cixartaq:

print(outer([2, 3, 5])) # [4, 9, 25] cixardacaq

Xarici ve daxili funksiyalar yazin, onlarin birge işi siyahinin her bir metin elementini boyuk herfle cixartsin.

Funksiyalar verilib:

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

Kodu elə deyişin ki, func1 func2 ucun daxili funksiya olsun.

Azərbaycan
AfrikaansБългарскиবাংলাБеларускаяČ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
Biz saytin işi, analitika və fərdiləşdirmə üçün cookie istifadə edirik. Məlumatların emalı Məxfilik Siyasəti əsasında həyata keçirilir.
hamısını qəbul et konfiqurasiya et rədd et