Lambda İşlevleri Hakkında
Python'daki Lambda işlevleri, ifadenin kendisinde uygulanan hesaplamalara dayalı olarak bir tür değer döndüren ifadeler oluşturmak için kullanılabilen adsız ve anonim işlevlerdir. Bu lambda fonksiyonlarındaki mantık, kısa ve öz bir şekilde yazılabilir, genellikle bir satıra kolayca sığan bir şeydir. Bazen, özellikle insanlar Lambda işlevleri konusunda bilgili değilse, okunması zor olabilir. Bununla birlikte, şeyleri kod blokları içinde bir arada tutma avantajına sahiptirler ve bağlamı daha iyi anlamada yardımcı olurlar.
Lambda İşlevlerinin Sözdizimi
Python'da bir Lambda işlevinin sözdizimi Şuna benzer:
çarpma = lambda x, y: x * yLambda ifadesinin iki nokta üst üste (:) sembolünden hemen önceki ilk kısmı parametreleri argüman olarak alır. İki nokta üst üste sembolünden sonraki ikinci kısım, bir dönüş değeri olmalıdır. Bu dönüş değeri mantıklı bir ifade de olabilir. Aslında, Lambda işlevleri, sağlanan argümanlara bir mantık uygulamak ve ardından nihai sonucu döndürmek için neredeyse her zaman kullanılır.
Yukarıda belirtilen Lambda işlevini test etmek için aşağıdaki ifadeyi kullanabilirsiniz:
yazdır (çarpma(3, 4))Aşağıdaki çıktıyı almalısınız:
12Aynı lambda işlevi, aksi takdirde aşağıdaki şekilde yazılırdı:
def çarpı (x, y):x * y döndür
yazdır (çarpma(3, 4))
Her iki kod örneği de aynı çıktıyı verecektir. Lambda işlevlerine ilişkin bazı örnekler aşağıda açıklanmıştır.
Lambda İşlevlerini Argüman Olarak Geçin
Lambda işlevlerini hesaplama yapmak ve dönüş değerini diğer işlevlere argüman olarak sağlamak için kullanabilirsiniz. Python'daki sıralama yöntemi, sıralama amacıyla tek bir bağımsız değişken alan çağrılabilir bir işlev belirtebileceğiniz bir “anahtar” argümanı alır. Önce bir anahtar döndüren ayrı bir işlev tanımlamak ve ardından işlevin argümana referansını sağlamak yerine, bir Lambda işlevi kullanabilirsiniz.
meyveler = [(2, 'elma'), (4, 'portakal'), (3, 'muz')]meyveler.sort(anahtar=lambda öğesi: öğe[0])
baskı (meyve)
Yukarıdaki kod aşağıdaki çıktıyı üretecektir:
[(2, 'elma'), (3, 'muz'), (4, 'portakal')]Lambda'yı, çağrılabilir bir işlevi argüman olarak alan herhangi bir yöntemde kullanabilirsiniz (örneğin filtre yöntemi).
Liste Kavramalarında Lambda İşlevlerini Kullanma
Lambda'yı liste anlamalarında kullanabilirsiniz ve Lambda ifadesinin döndürdüğü değerlerden usulüne uygun bir liste oluşturulur.
get_square = lambda a: a * akareler = [aralık(5) içindeki x için get_square(x)]
yazdır (kareler)
Bu, aşağıdaki çıktıyı üretecektir:
[0, 1, 4, 9, 16]Yukarıdaki kod örneği, lambda işlevine argüman olarak “x” verildiğinde aşağıdaki şekilde de yazılabilir:
kareler = [(lambda x: x * x)(x) x aralığında(5)]yazdır (kareler)
Bu örnek, liste kavramalarında Lambda işlevlerinin kullanımını gösterir. Aksi takdirde, minimal bir liste anlama ifadesi kullanarak kareleri kolayca hesaplayabilirsiniz:
print ([x * x aralığında(5)] için x)Python Sözlüklerinde Lambda İşlevlerini Kullanma
Aşağıdaki kod örneği, bir Python sözlüğündeki anahtar/değer çiftlerinde kullanılan Lambda işlevlerini gösterir. Tanımlandıktan sonra, bu işlevleri istediğiniz zaman çağırabilirsiniz.
hesapla = 'toplam' : lambda a, b: a + b, 'fark': lambda a, b: a - byazdır (hesapla['topla'](4, 5))
print (hesapla['fark'](4, 5))
Yukarıdaki kodu çalıştırdıktan sonra aşağıdaki çıktıyı almalısınız:
9-1
Sonuç
Lambda işlevleri, çok sayıda adlandırılmış işlev oluşturmadan, stenografi ifadeler yazmak ve işleri düzenli ve düzenli tutmak için mükemmel bir yol sağlar. Ancak, Lambda işlevlerinin aşırı kullanılması, özellikle koda birden fazla kişi tarafından bakıldığında kodun okunmasını zorlaştırabilir. Tekrar ziyaretlerde anlaşılması biraz zor olabilecek bir şeye sahip olmaktansa daha okunabilir bir koda sahip olmak (ayrıntılı olsa bile) daha iyidir.