- Bağlantıyı al
- X
- E-posta
- Diğer Uygulamalar
- Bağlantıyı al
- X
- E-posta
- Diğer Uygulamalar
Merhaba! Geleneksel def anahtar kelimesiyle tanımladığımız fonksiyonlar, birden fazla satır kod içerebilen, karmaşık görevler için harikadır. Ancak bazen sadece küçük ve hızlı bir işlem yapmak isteriz (örneğin bir listeyi belirli bir kurala göre sıralamak veya basit bir matematiksel işlem yapmak).
İşte bu noktada Lambda Fonksiyonları devreye girer.
Lambda Fonksiyonları:
Anonimdir: Bir isimle tanımlanmazlar (genellikle bir değişkene atanırlar veya doğrudan kullanılırlar).
Tek satırlıktır: Yalnızca tek bir ifade içerebilirler ve bu ifadenin sonucu otomatik olarak döndürülür (açıkça return kullanmaya gerek yoktur).
Genellikle map(), filter() ve sorted() gibi yüksek dereceli fonksiyonlarla birlikte kullanılırlar.
Lambda fonksiyonları, lambda anahtar kelimesiyle başlar.
lambda: Fonksiyon tanımlama anahtar kelimesi.
argümanlar: Fonksiyonun alacağı parametreler (virgülle ayrılmış).
: (İki nokta üst üste): Argümanları ifadeden ayırır.
ifade: Hesaplamayı yapan tek satırlık kod bloğu. Bu ifadenin sonucu otomatik olarak döndürülür.
Örnek: İki Sayıyı Toplayan Lambda
def topla(x, y):
return x + y
# Eşdeğer Lambda fonksiyonu
lambda_topla = lambda x, y: x + y
print(lambda_topla(5, 3)) # Çıktı: 8
Lambda fonksiyonlarının gücü, onları başka fonksiyonlara argüman olarak verdiğimizde ortaya çıkar.
sorted() Fonksiyonu ile KullanımLambda, bir listedeki öğeleri, varsayılan değerleri dışında (örneğin bir tuple'ın ikinci elemanına göre) sıralamak için anahtar (key) olarak kullanılabilir.
("Ali", 85),
("Veli", 92),
("Deniz", 78)
]
# Listeyi puanlarına (ikinci elemana - index 1) göre sırala
puan_siralamasi = sorted(ogrenciler, key=lambda ogr: ogr[1])
print(puan_siralamasi)
# Çıktı: [('Deniz', 78), ('Ali', 85), ('Veli', 92)]
filter() Fonksiyonu ile Kullanımfilter() fonksiyonu, bir koleksiyonun öğelerini bir koşula göre filtreler. Lambda, bu koşulu tek satırda tanımlamak için kullanılır.
sayilar = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
# Sadece çift sayıları filtrele
cift_sayilar = list(filter(lambda x: x % 2 == 0, sayilar))
print(cift_sayilar)
# Çıktı: [2, 4, 6, 8, 10]
map() Fonksiyonu ile Kullanımmap() fonksiyonu, bir koleksiyondaki her öğeye aynı işlemi uygulamak için kullanılır.
# Her fiyata %18 KDV ekle
kdvli_fiyatlar = list(map(lambda fiyat: fiyat * 1.18, fiyatlar))
print(kdvli_fiyatlar)
# Çıktı: [118.0, 177.0, 236.0]
def Fonksiyonları Arasındaki Farklar| Özellik | Lambda Fonksiyonları | Geleneksel (def) Fonksiyonlar |
| İsim | Anonim (İsimsiz), isteğe bağlı olarak atanır. | Tanımlanırken bir isim (def) gereklidir. |
| Gövde | Yalnızca tek bir ifade içerebilir. | Birden fazla ifade ve mantık satırı içerebilir. |
| Döndürme | İfade sonucu otomatik olarak döndürülür (Gizli return). | Açıkça return anahtar kelimesi gereklidir. |
| Kullanım | Basit işlemler, sıralama anahtarları, map/filter gibi yerlerde tercih edilir. | Karmaşık mantık, dokümantasyon (docstring) ve yeniden kullanılabilirlik gerektiğinde kullanılır. |
Lambda fonksiyonları, Python kodunuzu daha kompakt ve fonksiyonel programlama stilini benimseyerek daha okunaklı hale getirmenin mükemmel bir yoludur. Unutmayın, ne zaman çok basit, tek satırlık bir işlev tanımlamanız gerekirse, def yerine lambda kullanmak size zaman kazandıracaktır.
Hemen kursumuza kaydolun ve bu güçlü araçları kullanarak profesyonel Python geliştiricisi olma yolunda ilk adımı atın. Kursumuzdaki uygulamalı modüller, sizi sadece bir yazılımcı adayı değil, hazır bir profesyonel haline getirecek. Python Eğitimini Udemy platformunda bulabilirsiniz.
Yorumlar
Yorum Gönder