Lambda İfadeleri

Bu konuda lambda ifadelerini(expression) öğrenmeye çalışacağız. lambda ifadeleri fonksiyonlarımızı oluşturmak için Pythonda bulunan pratik bir yöntem ve gerektiği yerlerde bu ifadeleri kullanabilirsiniz. Biliyoruz ki listelerimizi oluşturmak için List Comprehension yöntemini kullanabiliyorduk.

Şimdi ise List Comprehension yöntemini hatırlayalım.

liste1 = [5,6,7,8,9] 
liste2 = list()
for i in liste1:# Bu klasik liste oluşturma yöntemi    
liste2.append(i*2)print(liste2)

 """ Çıktı [10, 12, 14, 16, 18] """

liste3 = [1,2,3,4,5]
liste4 = [i * 3 for i in liste3] # List Comprehension

print(liste4) 

"""Çıktı [3, 6, 9, 12, 15] """

Aynı buradaki gibi bir fonksiyonu da tek satır halinde lambda ifadeleriyle oluşturabiliriz. İlk önce yapısına bakalım sonra örneklerimize geçelim.

etiket = lambda parametre1,parametre2.... :  İşlem

Bu yapıdan henüz bir şey anlamamış olabiliriz. İsterseniz örneklerimizle lambda ifadelerini anlamaya çalışalım. Bir tane iki ile çarpma görevini yerine getiren fonksiyon yazalım.

def ucleçarp(x): # Klasik fonksiyon tanımlama   
 return x * 3
print(ucleçarp(3))

 """Çıktı 9 """
# Şimdi de bu fonksiyonu lambda ifadelerini kullanarak tek satırda yazalım. 

besleçarp = lambda x : x * 5

# x parametre x* 5 return ifadesi ve ikiyleçarp değeri de bir etikettir(değişken gibi düşünelim) 

besleçarp(4) 

# Buradaki 4 argümanı lambda ifadesindeki x'in yerine geçiyor. 

"""Çıktı 20 """
def toplama(a,b,c):    return a + b + c print(toplama(4,7,9))

 """Çıktı 20 """
topla = lambda x,y,z : x + y + z print(topla(4,7,9)) 

"""Çıktı 20"""
 Stringi ters çevirmedef terscevir(s):  

  return s[::-1] print(terscevir("Python Dunyasi"))

 """Çıktı isaynuD nohtyP """
ters =  lambda s : s[::-1] print(ters("Python Dunuasi")) 

"""Çıktı isaynuD nohtyP """
çifttek = lambda sayı :  sayı % 2 == 0  çifttek(34) çifttek(13) """Çıktı TrueFalse"""

İşte lambda ifadesini bu şekilde küçük fonksiyonlar için kullanabiliriz. lambda ifadelerini özellikle kısa bir fonksiyonu def ifadesiyle yazmanın zahmetli olduğu zamanlarda kullanılabilir.



0 yorum

Bir Cevap Yazın

This site uses Akismet to reduce spam. Learn how your comment data is processed.

%d blogcu bunu beğendi: