Python

17. Python Lambda Fonksiyonlari

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.

Yorum Gönder

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir