Lambda Fonksiyonu Nedir?
Python’da lambda fonksiyonlari, “anonim fonksiyonlar” olarak da bilinir. Yani isim verilmeden tanimlanabilen fonksiyonlardir. Lambda fonksiyonlari genellikle tek satirlik ve kisa islemler icin kullanilir. def
ile tanimlanan normal fonksiyonlara gore daha hafif yapidadirlar.
Lambda fonksiyonu temel olarak su sekilde yazilir:
lambda argumanlar: ifade
Basit Ornekler
1. Iki sayiyi toplama:
topla = lambda x, y: x + y
print(topla(5, 3)) # Cikti: 8
2. Bir sayinin karesini alma:
kare = lambda x: x**2
print(kare(4)) # Cikti: 16
3. Cift sayi mi kontrolu:
cift_mi = lambda x: x % 2 == 0
print(cift_mi(10)) # Cikti: True
print(cift_mi(7)) # Cikti: False
Lambda ve map() Fonksiyonu
map()
fonksiyonu, verilen bir fonksiyonu bir liste gibi bir koleksiyonun tum elemanlarina uygular.
sayilar = [1, 2, 3, 4, 5]
kareler = list(map(lambda x: x**2, sayilar))
print(kareler) # Cikti: [1, 4, 9, 16, 25]
Lambda ve filter() Fonksiyonu
filter()
fonksiyonu, verilen sartlari saglayan elemanlari secer.
sayilar = [1, 2, 3, 4, 5, 6]
ciftler = list(filter(lambda x: x % 2 == 0, sayilar))
print(ciftler) # Cikti: [2, 4, 6]
Lambda ve sorted() Fonksiyonu
sorted()
fonksiyonu ile siralama yaparken lambda kullanilabilir.
tuple_listesi = [("elma", 3), ("armut", 2), ("muz", 5)]
sirali = sorted(tuple_listesi, key=lambda x: x[1])
print(sirali) # Cikti: [('armut', 2), ('elma', 3), ('muz', 5)]
Lambda Fonksiyonlarinin Avantajlari
- Tek satirda fonksiyon yazma imkani
- Kodun okunabilirligini artirabilir (kisa islemlerde)
map
,filter
,sorted
gibi fonksiyonlarla pratik kullanimi vardir
Lambda Fonksiyonlarina Alternatif
Lambda fonksiyonlari genellikle kucuk ve basit islemler icin uygundur. Daha karmasik islemler icin def
ile tanimlanan fonksiyonlar tercih edilmelidir.
def topla(x, y):
return x + y
Bu, lambda x, y: x + y
ile ayni islevi gorse de, cok satirli olmasi gereken durumlar icin daha uygundur.
Sonuc
Lambda fonksiyonlari, Python’da fonksiyon tanimlamanin daha hizli ve kisa bir yoludur. Kucuk, tek satirlik islemler icin oldukca kullanislidirlar. Ancak, karma karisik fonksiyonlar icin geleneksel def
yapisi tercih edilmelidir.