# Lambda fonksiyonu

Adres: https://softwaredictionary.org/tr/terimler/lambda-function
Kategori: Programlamanın Temelleri
Son güncelleme: 2026-09-30
İngilizcesi: Lambda Function
Türkçe karşılığı: lambda ifadesi, anonim fonksiyon
Okunuşu: lemda fankşın

Kısaca: Lambda fonksiyonu, adı olmadan satır içinde yazılan küçük fonksiyondur; genellikle sıralama ya da filtreleme yapan başka bir fonksiyona doğrudan aktarılır.

## Lambda fonksiyonu nedir?

Anonim fonksiyon ya da lambda ifadesi olarak da adlandırılan lambda fonksiyonu, ona ad verilmeden tanımlanan bir fonksiyondur. Genellikle kısadır ve tam ihtiyaç duyulan yerde, çoğunlukla başka bir fonksiyona argüman olarak yazılır. Adı, fonksiyonları tanımlamak için Yunan harfi λ'yı kullanan, 1930'lardan kalma matematiksel bir hesaplama modeli olan lambda kalkülüsünden gelir.

Her dilin kendi sözdizimi vardır. JavaScript'te `(x) => x * 2` gibi ok fonksiyonları, Python'da `lambda x: x * 2`, Java'da `x -> x * 2`, C#'ta `x => x * 2` ve C++'ta `[](int x) { return x * 2; }` kullanılır. Lambda'lar genellikle çevreleyen koddaki değişkenleri okuyabilir; bu da onları closure yapar. Python lambda'ları bilerek tek bir ifadeyle sınırlar, bu yüzden daha uzun olan her şey normal, adlandırılmış bir fonksiyon olmalıdır.

Lambda, bir iş arkadaşına resmi yazılı bir prosedür yerine “bunları tarihe göre sırala” gibi verilen hızlı bir yapışkan not gibidir. Lambda'lar sıralama anahtarları, liste filtreleri, olay işleyicileri ve kısa callback'ler için kullanılır; ayrı bir adlandırılmış fonksiyon burada açıklık katmadan gürültü ekler.

Lambda farklı bir fonksiyon türü değildir; diğer fonksiyonlar gibi davranır ve yalnızca adı yoktur. Barındırdığı fonksiyonlara “lambda” diyen sunucusuz (serverless) bulut platformlarıyla da ilgisi yoktur; bunlar talep üzerine çalışan küçük programlardır ve lambda ifadeleriyle ya da onlarsız yazılabilir. Ayrıca bir lambda otomatik olarak yüksek dereceli fonksiyon değildir: genellikle onlara aktarılan fonksiyondur.

## Önemli noktalar

- Lambda, adı olmayan ve kullanıldığı yerde satır içinde tanımlanan bir fonksiyondur.
- Sözdizimi değişir: JavaScript ve C#'ta `=>`, Java'da `->`, Python'da `lambda`.
- Lambda'lar genellikle çevredeki değişkenleri yakalar; bu da onları closure yapar.
- Sıralama anahtarları ve filtreler gibi kısa callback'ler için idealdir.
- Sunucusuz bulut fonksiyonları aynı adı taşır ama farklı bir kavramdır.

## Örnek: Python'da lambda ile sıralamak

```python
users = [
    {"name": "Grace", "age": 45},
    {"name": "Ada", "age": 36},
    {"name": "Linus", "age": 28},
]

# The lambda tells sorted() which value to sort by
by_age = sorted(users, key=lambda user: user["age"])
print([u["name"] for u in by_age])  # ['Linus', 'Ada', 'Grace']

# The same idea in JavaScript: users.sort((a, b) => a.age - b.age)
```

## Sık sorulan sorular

**Lambda ile normal fonksiyon arasındaki fark nedir?**

Lambda'nın adı yoktur ve satır içinde, genellikle tek bir ifade olarak yazılır; normal fonksiyon ise bir adla tanımlanır ve birçok deyim içerebilir. Oluşturulduktan sonra ikisi de aynı biçimde çağrılır.

**Ok fonksiyonları (arrow functions) lambda ile aynı mıdır?**

Ok fonksiyonları JavaScript'in lambda sözdizimidir. Normal JavaScript fonksiyonlarından önemli bir noktada da ayrılırlar: kendi `this` değerleri yoktur, bu yüzden çevreleyen kodun `this` değerini kullanırlar.

**Buna neden lambda deniyor?**

Ad, matematikçi Alonzo Church'ün 1930'larda oluşturduğu ve fonksiyonları yazmak için Yunan harfi λ'yı kullanan biçimsel bir sistem olan lambda kalkülüsünden gelir. Lisp bu sözcüğü benimsedi ve birçok dil onu izledi.

---

Software Dictionary: https://softwaredictionary.org/tr · https://softwaredictionary.org/tr/llms.txt
