⊗pyPmFnLa 16 of 129 menu

Python-da Lambda Funksiyasi

Tutaq ki, bizim parametr kimi siyahı və callback qəbul edən func adlı funksiyamız var. Funksiya orijinal siyahının elementlərindən yeni siyahı yaradacaq. Bu zaman hər bir elementə callback tətbiq olunacaq:

def func(lst, callback): res = [] for el in lst: res.append(callback(el)) return res

İndi isə önünə verilən ədədi kvadrata yüksəldən square funksiyasını yaradaq:

def square(num): return num ** 2

Gəlin func-ın parametrlərinə ədədi siyahını və callback kimi square funksiyasını ötürək:

print( func([1, 2, 3], square) )

Konsola ədədlərin kvadratlarından ibarət yeni siyahı çıxacaq:

[1, 4, 9]

Lakin bu kodu lambda funksiyası istifadə edərək əhəmiyyətli dərəcədə qısaltmaq olar - bu, lambda açar sözü ilə çağırılan və bir sətirdə yazılan anonim funksiyadır. Buna görə də lambda funksiyasına yalnız kodu bir sətir tutan funksiyaları yenidən yazmaq olar.

Lambda funksiyasının sintaksisi belə görünür:

lambda funksiya parametri: funksiya parametri ilə əməliyyat

Gəlin square funksiyasını lambda funksiyası ilə yenidən yazaq və onu func-ın parametrinə ötürək:

print( func([1, 2, 3], lambda num: num ** 2) )

Lambda funksiyasını dəyişənə yazmaq olar:

square = lambda num: num ** 2 print( func([1, 2, 3], square) )

Aşağıdakı kodu lambda funksiyası ilə yenidən yazın:

def func(num, clb): return clb(num) def clb(num): return num + 1 print( func(2, clb) )

Aşağıdakı kodu lambda funksiyası ilə yenidən yazın:

def func(num, clb1, clb2): return (clb1(num), clb2(num)) def clb1(num): return num + 1 def clb2(num): return num - 1 print( func(2, clb1, clb2) )

Aşağıdakı kodu lambda funksiyası ilə yenidən yazın:

def func(num1, num2, clb): res = clb(num1) + num2 return res def clb(num): return num ** 3 print(func(2, 6, clb))
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