⊗pyPmFnLa 16 of 129 menu

Fungsi Lambda dalam Python

Katakan kita ada fungsi func, yang parameternya menerima senarai dan callback. Fungsi akan mencipta senarai baharu dari elemen senarai asal. Pada masa yang sama, callback akan digunakan pada setiap elemen:

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

Sekarang mari kita cipta fungsi square, yang akan mengkuadratkan nombor yang diberikan kepadanya:

def square(num): return num ** 2

Mari kita berikan kepada parameter func senarai nombor dan fungsi square sebagai callback:

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

Senarai baharu yang terdiri daripada kuasa dua nombor akan dipaparkan dalam konsol:

[1, 4, 9]

Walau bagaimanapun, kod ini boleh disingkatkan dengan ketara dengan menggunakan fungsi lambda - fungsi tanpa nama yang dipanggil dengan kata kunci lambda dan ditulis dalam satu baris. Oleh itu, hanya fungsi yang kodnya mengambil satu baris boleh ditulis semula ke dalam fungsi lambda.

Sintaks fungsi lambda kelihatan seperti ini:

lambda parameter fungsi: operasi dengan parameter fungsi

Mari kita tulis semula fungsi square menggunakan fungsi lambda dan berikannya kepada parameter func:

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

Fungsi lambda boleh ditulis ke dalam pembolehubah:

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

Tulis semula kod berikut melalui fungsi lambda:

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

Tulis semula kod berikut melalui fungsi lambda:

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) )

Tulis semula kod berikut melalui fungsi lambda:

def func(num1, num2, clb): res = clb(num1) + num2 return res def clb(num): return num ** 3 print(func(2, 6, clb))
Melayu
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Kami menggunakan kuki untuk operasi laman web, analisis dan personalisasi. Pemprosesan data dijalankan mengikut Polisi Kerahsiaan.
terima semua tataletak tolak