Python Lambda İşlevleri: Anonim İşlevler Kılavuzu
Python'da anonim lambda işlevlerinin nasıl yazılacağını öğrenin. Lambda söz dizimi ile map(), filter() ve sorted() yöntemlerini kullanarak işlevsel programlama modellerinde ustalaşın.
Genel Bakış
Python'da, anonim işlevler olarak da bilinen lambda işlevleri, standart "def" anahtar sözcüğünü veya resmi bir adı gerektirmeyen küçük, hızlı, tek satırlık işlevlerdir. Bunlar geçici, hızlı kullanıma yöneliktir ve işlevsel mantığı doğrudan satır içi bir argüman olarak aktarmanıza olanak tanır. Bu, kodunuzu daha kompakt hale getirerek yalnızca tek bir yerde çağrılan tam teşekküllü yardımcı işlevleri yazma yükünü azaltır.
Bir lambda fonksiyonunun sözdizimi basittir: 'lambda argümanları: ifade'. Standart işlevlerden farklı olarak lambda'nın açık bir 'return' ifadesi yoktur; ifade değerlendirilir ve otomatik olarak döndürülür. Ayrıca, lambda işlevleri tek bir ifadeyle sınırlıdır; bu, bunların içine karmaşık çok satırlı döngüler, atamalar veya koşul blokları yazamayacağınız anlamına gelir; bu da temiz, işlevsel bir yaklaşımı zorunlu kılar.
Lambda işlevleri genellikle "map()" (listedeki her öğeye bir işlev uygulayan), "filter()" (bir koşulla eşleşen öğeleri tutan) ve "sorted()" (öğeleri özel bir sıralama anahtarı kullanarak sıralayan) gibi yerleşik üst düzey işlevlerle birlikte kullanılır. Örneğin, bir sözlük listesini belirli bir sözlük anahtarına göre sıralamak, sıralama anahtarı olarak lambda kullanıldığında çocuk oyuncağıdır. Lambda işlevlerini anlamak size temiz Python kodu yazmak için hayati bir araç sağlar.
Kod ve Yürütme Çıkışı
Satır içi anonim işlevleri kullanarak karmaşık sözlük listelerini sıralama ve veri kümelerini filtreleme.
# Sorting using lambda
students = [
{"name": "Alice", "grade": 88},
{"name": "Bob", "grade": 95},
{"name": "Charlie", "grade": 90}
]
# Sort students by grade (descending)
sorted_students = sorted(students, key=lambda s: s["grade"], reverse=True)
print("Sorted students by grade:")
for student in sorted_students:
print(f"- {student['name']}: {student['grade']}")
# Filtering using lambda
numbers = [1, 2, 3, 4, 5, 6, 7, 8]
odd_numbers = list(filter(lambda x: x % 2 != 0, numbers))
print(f"\nOdd numbers: {odd_numbers}")Sorted students by grade:
- Bob: 95
- Charlie: 90
- Alice: 88
Odd numbers: [1, 3, 5, 7]Adım Adım Uygulama
- Özel sıralama kriterlerini list.sort() ve sorted()'a aktarma
- Veri bilimi ardışık düzenlerinde satır içi dönüşümleri uygulama
- Olay odaklı kullanıcı arayüzü uygulamalarında hızlı geri aramaları tanımlama
Sıkça Sorulan Sorular
Bir lambda işlevi birden fazla argüman alabilir mi?
Evet, virgülle ayrılmış birden çok bağımsız değişken tanımlayabilirsiniz; örneğin lambda x, y: x + y.
Lambda işlevlerine neden anonim deniyor?
Çünkü bunlar, yerel ad alanına belirli bir adı kaydeden def işlevlerinin aksine, ad bağlaması olmadan yaratılırlar.
İlgili Konular
Python fonksiyonlarında ustalaşın. Def kullanarak yeniden kullanılabilir kod yazmayı, bağımsız değişkenleri tanımlamayı, değerleri döndürmeyi ve kapsamı yerel ve genel olarak nasıl anlayacağınızı öğrenin.
Python KavramalarıDaha temiz, daha hızlı Python yazın. Pratik örnekler, filtreleme koşulları ve iç içe geçmiş döngülerle ana liste, sözlük ve küme kavramaları.
Önerilen Python Kaynakları
İlgili etkileşimli eğitimler, yardımcı sayfalar ve kod karşılaştırmalarıyla bilginizi genişletin.
Python'da Lambda Fonksiyonları Nasıl Kullanılır
Python'da lambda işlevlerinin nasıl kullanılacağını öğrenin. Lambda tuşlarıyla anonim işlevlerde, satır içi geri aramalarda ve liste verilerini sıralamada uzmanlaşın.
Python String Yöntemleri Hile Sayfası
Python dize manipülasyonu için eksiksiz bir başvuru kılavuzu. Dize özelliklerini biçimlendirme, arama, bölme, değiştirme ve denetleme konusunda uzmanlaşın.
Python vs JavaScript: Hangi Programlama Dili En İyisidir?
Python ve JavaScript arasında kapsamlı bir karşılaştırma. Sözdizimi farklılıklarını, performansı, kullanım örneklerini (arka uç ve ön uç) ve kodlama örneklerini keşfedin.