Sobes.tech
Junior

Python'da lambda ifadesi nedir?

sobes.tech yapay zeka

AI'dan gelen yanıt

Python'da lambda ifadesi, lambda anahtar kelimesi kullanılarak tanımlanan anonim bir fonksiyondur. Basit bir sözdizimine sahiptir: lambda arguments: expression.

Ana özellikler:

  • Anonimlik: İsmi yoktur.
  • Tek satırlık: Bir satır kodda olmalıdır.
  • Tek ifade: Sadece bir ifade içerebilir ve sonucu döndürülür.
  • Herhangi sayıda argüman alabilir: Ama sadece bir ifade içerir.

Kullanım örnekleri:

# Basit bir lambda fonksiyonu, sayıyı ikiyle çarpar
double = lambda x: x * 2
# Kullanım:
# print(double(5)) # Çıktısı 10 olur

# Birden fazla argüman alan lambda fonksiyonu
add = lambda a, b: a + b
# Kullanım:
# print(add(3, 7)) # Çıktısı 10 olur

# Yüksek dereceli fonksiyonlarla lambda kullanımı
# Örneğin, filter()
numbers = [1, 2, 3, 4, 5, 6]
even_numbers = list(filter(lambda x: x % 2 == 0, numbers))
# print(even_numbers) # Çıktısı [2, 4, 6]

# map() ile lambda kullanımı
squared_numbers = list(map(lambda x: x**2, numbers))
# print(squared_numbers) # Çıktısı [1, 4, 9, 16, 25, 36]

# sorted() fonksiyonunda anahtar olarak lambda kullanımı
data = [{'name': 'Alice', 'age': 30}, {'name': 'Bob', 'age': 25}]
sorted_data_by_age = sorted(data, key=lambda item: item['age'])
# print(sorted_data_by_age) # Yaşlara göre sıralanmış listeyi gösterir

Lambda ifadeleri, küçük ve tek kullanımlık fonksiyonlar için uygundur ve genellikle yüksek dereceli fonksiyonlar (map, filter, sorted) ile birlikte kullanılır. Ancak, daha karmaşık görevler veya dokümantasyon (docstrings) gerektiren fonksiyonlar için, def kullanılarak tanımlanan normal fonksiyonlar tercih edilmelidir.