Junior
Python'da lambda ifodasi nima?
sobes.tech AI
AIdan javob
Python'da lambda ifadesi, lambda anahtar kelimesi kullanılarak tanımlanan anonim bir fonksiyondur. Basit bir sözdizimine sahiptir: lambda arguments: expression.
Başlıca özellikler:
- Anonim: İ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:
# Sayıyı ikiyle çarparak basit lambda fonksiyonu
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] olur
# 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] olur
# 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.