9 Eylül 2017 Cumartesi

Lambda Fonksiyonu

Lambda fonksiyonu, anonymous(anonim) fonksiyonu olarak da bilinir. Peki nedir lambda fonksiyonu? Fonksiyonlar yazısında fonksiyonun def anahtar kelimesi ile tanımlandığından bahsetmiştik. Lambda fonksiyonu ise bir fonksiyonu tek satırda tanımlamamıza olanak sağlar. Lambda ise bir anahtar kelimedir. Lambda fonksiyon yapısını inceleyelim.
lambda parametreler: ifade
Şimdi normal şekilde iki sayının toplamını alan fonksiyon yazalım.
def topla(x,y):
    print(x+y)
Aynı fonksiyonu, lambda fonksiyonu hali ile yazalım
topla = lambda x,y: print(x+y)
Yukarıdaki iki kod örneği de aslında aynı işi yapıyor. Ancak yukarıdaki örnek kodda lambda fonksiyonu kullanımı amacın dışında olmuş gibi. Lambda fonksiyonu, anonymous yani isimsiz bir fonksiyondur. Lambda fonksiyonları, gömülü fonksiyonlar içerisinde kullanıldığı zaman ne kadar işe yaradığını anlayabiliriz. Şimdi bir örnek ile ne demek istendiğini anlamaya çalışalım.

Elimizde bir sayı listesi olsun ve bu sayı listesinden çift sayı olanları filter() gömülü fonksiyonu ile süzelim.
liste = [2,3,54,37,42,5,56,7,43,6]

cift = list(filter(lambda x:x%2==0, liste))

print(cift)
#ekran çıktısı: [2, 54, 42, 56, 6]
Yukarıdaki işlemi list comprehension ile de gerçekleştirebiliriz. List Comprehensions Nedir?
cift = [x for x in liste if x%2==0]
Şimdilik anonim fonksiyonlardan bu kadar bahsettim. Zamanı olduğunda tekrar güncellenecektir.

Hiç yorum yok:

Yorum Gönder