Python’da Lambda Fonksiyonları

Lambda fonksiyonları, Python’da tek satırlık, küçük ve anonim (isimsiz) fonksiyonlar oluşturmanızı sağlar. Lambda fonksiyonları genellikle basit işlemler için kullanılır ve daha kapsamlı bir fonksiyon tanımı gerektirmeyen durumlarda tercih edilir. Lambda fonksiyonları, lambda anahtar kelimesi ile tanımlanır.

1. Lambda Fonksiyonlarının Tanımlanması

Lambda fonksiyonları, standart bir fonksiyon gibi def anahtar kelimesi yerine lambda anahtar kelimesi ile tanımlanır. Lambda fonksiyonları, isim almazlar, bu yüzden anonim fonksiyonlar olarak da bilinirler.

a. Lambda Fonksiyonunun Genel Söz Dizimi
lambda parametreler: ifade

Bu yapı, parametreleri alan ve bu parametreler üzerinde belirli bir ifadeyi çalıştıran bir fonksiyon oluşturur.

b. Basit Lambda Fonksiyonu Örneği
topla = lambda a, b: a + b
print(topla(3, 5)) # 8 yazdırır

Bu örnekte, topla adlı lambda fonksiyonu iki parametre alır (a ve b) ve bu parametrelerin toplamını döndürür.

2. Lambda Fonksiyonlarının Kullanım Alanları

Lambda fonksiyonları genellikle kısa ve basit fonksiyonlar gerektiğinde kullanılır. Aşağıda lambda fonksiyonlarının yaygın kullanım alanlarına dair örnekler bulabilirsiniz.

a. map() Fonksiyonu ile Kullanım

map() fonksiyonu, bir iterable (örneğin liste) üzerinde bir fonksiyonu uygulamak için kullanılır. Lambda fonksiyonları bu tür durumlar için idealdir.

sayilar = [1, 2, 3, 4, 5]
karesi = list(map(lambda x: x**2, sayilar))
print(karesi) # [1, 4, 9, 16, 25]

Bu örnekte, lambda fonksiyonu her bir sayının karesini alır ve map() fonksiyonu ile bu işlem tüm liste elemanlarına uygulanır.

b. filter() Fonksiyonu ile Kullanım

filter() fonksiyonu, bir iterable üzerindeki elemanları belirli bir koşula göre filtrelemek için kullanılır.

sayilar = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
cift_sayilar = list(filter(lambda x: x % 2 == 0, sayilar))
print(cift_sayilar) # [2, 4, 6, 8, 10]

Bu örnekte, lambda fonksiyonu bir sayının çift olup olmadığını kontrol eder ve filter() fonksiyonu ile bu koşulu sağlayan sayılar filtrelenir.

c. sorted() Fonksiyonu ile Kullanım

sorted() fonksiyonu, bir iterable’ı sıralamak için kullanılır. Lambda fonksiyonları, sıralama anahtarını belirlemek için kullanılabilir.

ogrenciler = [("Ali", 25), ("Ayşe", 22), ("Mehmet", 27)]
sirali_ogrenciler = sorted(ogrenciler, key=lambda x: x[1])
print(sirali_ogrenciler) # [("Ayşe", 22), ("Ali", 25), ("Mehmet", 27)]

Bu örnekte, lambda fonksiyonu her öğrencinin yaşına göre sıralama yapar.

d. reduce() Fonksiyonu ile Kullanım

reduce() fonksiyonu, bir iterable’ın elemanlarını birleştirerek tek bir değer elde etmek için kullanılır. reduce() fonksiyonu, functools modülünden import edilmelidir.

from functools import reduce

sayilar = [1, 2, 3, 4, 5]
toplam = reduce(lambda x, y: x + y, sayilar)
print(toplam) # 15

Bu örnekte, lambda fonksiyonu liste elemanlarını toplar ve reduce() fonksiyonu bu işlemi tüm elemanlar için tekrarlar.

3. Lambda Fonksiyonları ve Normal Fonksiyonlar

Lambda fonksiyonları, kısa ve basit işlemler için kullanışlıdır. Ancak, daha karmaşık işlemler veya açıklayıcı kod yazılması gerektiğinde normal fonksiyonlar tercih edilmelidir. Lambda fonksiyonları, birden fazla ifadeyi içeremediği ve yalnızca tek bir işlem gerçekleştirebildiği için, daha karmaşık mantıklar için uygun değildir.

a. Normal Fonksiyon ile Lambda Fonksiyonu Karşılaştırması

Normal Fonksiyon:

def topla(a, b):
return a + b

print(topla(3, 5)) # 8 yazdırır

Lambda Fonksiyonu:

topla = lambda a, b: a + b
print(topla(3, 5)) # 8 yazdırır

Her iki fonksiyon da aynı sonucu verir, ancak normal fonksiyonlar daha açıklayıcıdır ve daha karmaşık işlemler için uygundur.

Lambda fonksiyonları, Python’da hızlı ve basit fonksiyon tanımları yapmak için kullanılır. Özellikle map(), filter(), sorted(), ve reduce() gibi fonksiyonlarla birlikte kullanıldığında oldukça güçlüdür. Ancak, daha karmaşık işlemler ve açıklayıcı kodlar için normal fonksiyonlar tercih edilmelidir. Lambda fonksiyonları, kodunuzu daha kısa ve okunabilir hale getirmek için uygun bir araçtır.

For ve While Döngüleri

Python’da Fonksiyonlar

İç İçe Döngüler ve Fonksiyonlar

Comments

Bir yanıt yazın

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

Bu site, istenmeyenleri azaltmak için Akismet kullanıyor. Yorum verilerinizin nasıl işlendiği hakkında daha fazla bilgi edinin.