Bir lambda işlevi, küçük bir anonim işlevdir.
Lambda işlevi herhangi bir sayıda argüman alabilir, ancak yalnızca bir ifadeye sahip olabilir.
Syntax (Söz Dizimi) :
lambda arguments : ifade
İfade yürütülür ve sonuç döndürülür:
Örnek: Bir argüman olarak iletilen sayıya 10 ekleyen ve sonucu yazdıran bir lambda işlevi:
1 2 3 4 | x = lambda a : a + 10 print(x(5)) |
Ekran Çıktısı: 15
Lambda işlevleri herhangi bir sayıda argüman alabilir:
Örnek: A değişkenini b değişkeniyle çarpan ve sonucu basan bir lambda işlevi:
1 2 3 4 | x = lambda a, b : a * b print(x(5, 6)) |
Ekran Çıktısı : 30
Örnek: A, b ve c argümanlarını toplayan ve sonucu basan bir lambda işlevi:
1 2 3 4 | x = lambda a, b, c : a + b + c print(x(5, 6, 2)) |
Neden Lambda İşlevlerini Kullanmalı?
Lambda’nın gücü, başka bir fonksiyonun içinde anonim bir fonksiyon olarak kullanıldığında daha iyi gösterilir.
Bir argüman alan bir fonksiyon tanımınız olduğunu ve bu argümanın bilinmeyen bir sayı ile çarpılacağını söyleyin.
Örnek: Gönderdiğiniz sayıyı her zaman ikiye katlayan bir işlev yapmak için bu işlev tanımını kullanın:
1 2 3 4 5 6 7 8 | def myfunc(n): return lambda a : a * n mydoubler = myfunc(2) print(mydoubler(11)) |
Ekran Çıktısı: 22
Örnek: Veya, her zaman gönderdiğiniz sayıyı üçe katlayan bir işlev yapmak için aynı işlev tanımını kullanın:
1 2 3 4 5 6 7 8 | def myfunc(n): return lambda a : a * n mytripler = myfunc(3) print(mytripler(11)) |
Veya her iki işlevi de aynı programda yapmak için aynı işlev tanımını kullanın:
1 2 3 4 5 6 7 8 9 10 | def myfunc(n): return lambda a : a * n mydoubler = myfunc(2) mytripler = myfunc(3) print(mydoubler(11)) print(mytripler(11)) |
[…] Python Lambda […]