Lambda, normal Python fonksiyonlarından daha kısıtlayıcı ancak daha özlü bir kod dizimine tabi olan küçük fonksiyonlardır.
Kod dizimi:
lambda parametreler:ifadeler
Örnek olarak toplama işlemi yapan normal fonksiyon ve lambda fonksiyonu yazarak karşılaştırma işlemi uygulayalım;
def topla(x,y):
return x+y
Yukarıdaki topla fonksiyonunda, fonksiyona verilen x ve y değerlerinin toplamlarını döndürür.
Buna karşılık bu toplama işlemini lambda fonksiyonunu kullanarak yazalım:
- 1. Yöntem: Lambda fonksiyonunu bir değere eşitleme ve o değeri fonksiyon ismi olarak kullanmak.
topla=lambda x,y:x+y #topla: fonksiyonun ismidir.
#lambda ifadesini çağırmak için topla(2,4)
Çıktı:
6
-
2. Yöntem: Lambda fonksiyonunu parantez içerisinde yazarak değerleri de yeni bir parantez içersinde vermek.
#(lambda x,y:...)(x,y) (lambda x,y:x+y)(3,5)
Çıktı:
8
- 3. Yöntem: Lambda fonksiyonunu _( ) ile çağırmak.
lambda x,y:x+y
_(4,6)
Çıktı:
10
3 yöntemde de görüldüğü gibi "lambda fonksiyonu" bir kaç satırda yazılabilecek kod bloklarını tek satırda yazılmasına olanak sağlar.
Örnek-1: Silindirin hacmini hesaplayan bir lambda fonksiyonu oluşturun.(silindirin hacmi:π.r².h)
pi=3.14
hacim=lambda r,h:pi*(r**2)*h
hacim(2,4)
Çıktı:
50.24
pi=3.14
(lambda r,h:pi*(r**2)*h)(2,4)
Çıktı:
50.24
Örnek-2: Lambda fonksiyonu içersinde başka bir Lambda fonksiyonu kullanarak örnek oluşturalım.
test=lambda x, func: x + func(x)
test(3,lambda x:x**2)
Çıktı:
12