Python Fonksiyonlar
Python’da fonksiyon kavramını, neden kullanıldığını ve kod tekrarını azaltmadaki rolünü öğrenin.
Python'da bir fonksiyon, belirli bir görevi yerine getirmek üzere tasarlanmış, adlandırılmış ve yeniden kullanılabilir bir kod bloğudur. Programınızda bir işlemi birden fazla kez yapmanız gerektiğinde veya kodunuzu daha düzenli ve okunabilir hale getirmek istediğinizde fonksiyonlar devreye girer.
Fonksiyonları mutfak robotu gibi düşünebilirsiniz:
* Siz malzemeleri (girdi/parametreler) verirsiniz.
* Robot belirli bir işlem yapar (fonksiyonun gövdesi).
* Size istediğiniz ürünü (çıktı/dönüş değeri) verir.
---
### Fonksiyonun Yapısı ve Tanımlanması (`def` Anahtar Kelimesi)
Python'da bir fonksiyon `def` anahtar kelimesi ile tanımlanır:
```python
def fonksiyon_adi(parametre1, parametre2):
"""
Bu, fonksiyonun ne yaptığını açıklayan bir docstring'dir. (İsteğe bağlı ama önerilir)
"""
# Fonksiyonun gerçekleştireceği işlemler burada yer alır
# ...
return sonuc # İsteğe bağlı olarak bir değer döndürebilir
```
**Parçaları Açıklaması:**
1. **`def` Anahtar Kelimesi:** Bir fonksiyon tanımının başlangıcını belirtir.
2. **`fonksiyon_adi`:** Fonksiyonu çağırmak için kullanacağınız isimdir. Anlamlı ve açıklayıcı olması önemlidir.
3. **`parametreler` (İsteğe Bağlı):** Fonksiyona dışarıdan veri göndermek için kullanılır. Parantez içinde virgülle ayrılarak listelenir. Fonksiyon içinde değişken gibi davranırlar.
4. **`:` (İki Nokta):** Fonksiyon başlığını bitirir ve fonksiyon gövdesinin başladığını işaret eder.
5. **Fonksiyon Gövdesi:** Fonksiyonun yapacağı tüm işlemleri içeren girintili (indent) kod bloğudur. Python'da girintileme çok önemlidir!
6. **`return` İfadesi (İsteğe Bağlı):** Fonksiyonun bir değeri geri döndürmesini sağlar. `return` ifadesiyle karşılaşıldığında fonksiyonun çalışması durur ve belirtilen değer fonksiyonun çağrıldığı yere geri gönderilir. Eğer `return` kullanılmazsa veya boş `return` kullanılırsa, fonksiyon varsayılan olarak `None` döndürür.
---
### Fonksiyon Çağırma
Bir fonksiyonu tanımladıktan sonra, onu ismini ve gerekli parametreleri parantez içinde belirterek çağırabilirsiniz:
```python
# Örnek 1: Parametresiz ve dönüş değeri olmayan bir fonksiyon
def selamla():
print("Merhaba, dünyaya!")
selamla() # Fonksiyonu çağırma
# Çıktı: Merhaba, dünyaya!
# Örnek 2: Parametreli ve dönüş değeri olan bir fonksiyon
def topla(sayi1, sayi2):
sonuc = sayi1 + sayi2
return sonuc
# Fonksiyonu çağırma ve dönüş değerini bir değişkene atama
toplam = topla(5, 3)
print(f"Toplam: {toplam}") # Çıktı: Toplam: 8
# Fonksiyonu doğrudan print içinde çağırma
print(f"Diğer toplam: {topla(10, 7)}") # Çıktı: Diğer toplam: 17
```
---
### Fonksiyonlar Neden Kullanılır? (Avantajları)
1. **Kod Tekrarını Önleme (DRY - Don't Repeat Yourself):**
* Aynı kod parçasını programınızın farklı yerlerinde tekrar tekrar yazmak yerine, onu bir fonksiyon içinde tanımlarsınız. Böylece kod daha kısa ve yönetilebilir olur.
* **Örnek:** Eğer bir hesaplama formülünü 5 farklı yerde kullanmanız gerekiyorsa, bunu 5 kere yazmak yerine bir fonksiyon tanımlayıp 5 kere çağırırsınız.
2. **Okunabilirlik ve Anlaşılabilirlik:**
* Karmaşık programları daha küçük, yönetilebilir parçalara (fonksiyonlara) bölerek her bir fonksiyon belirli bir görevi yerine getirir. Bu, kodun ne yaptığını anlamayı kolaylaştırır.
* Büyük bir programda "verileri_oku()", "verileri_işle()", "sonuclari_kaydet()" gibi fonksiyon isimleri, kodun akışını çok daha net hale getirir.
3. **Modülerlik:**
* Fonksiyonlar, kodunuzu bağımsız modüllere ayırmanıza olanak tanır. Her modül kendi içinde test edilebilir ve geliştirilebilir.
* Bu, büyük projelerde ekip çalışmasını kolaylaştırır, çünkü farklı ekip üyeleri farklı fonksiyonlar üzerinde aynı anda çalışabilir.
4. **Bakım Kolaylığı:**
* Bir hata bulduğunuzda veya bir özelliği değiştirmek istediğinizde, bunu sadece fonksiyonun tanımlandığı tek bir yerde yapmanız yeterlidir. Aksi takdirde, aynı kodu tekrar ettiğiniz her yerde değişikliği yapmanız gerekirdi, bu da hatalara yol açabilirdi.
5. **Yeniden Kullanılabilirlik:**
* Bir kez yazılan bir fonksiyon, aynı program içinde defalarca kullanılabileceği gibi, başka programlarda veya projelerde de kolayca kullanılabilir. Bu, geliştirme sürecini hızlandırır.
6. **Soyutlama (Abstraction):**
* Bir fonksiyonu kullandığınızda, onun iç detaylarını bilmek zorunda kalmazsınız. Sadece fonksiyonun ne iş yaptığını (girdileri ne, çıktısı ne) bilmeniz yeterlidir. Bu, daha üst seviye bir düşünme ve programlama sağlar.
Kısacası, fonksiyonlar Python'da (ve genel olarak programlamada) temiz, düzenli, verimli ve bakımı kolay kod yazmanın temel araçlarından biridir.
Son Paylaşımlar
-
Python Temelleri Genel Tekrar
14:39:24 - 13/12/2025 -
Python Performans İpuçları
14:38:59 - 13/12/2025 -
Python’da Temiz Kod Yazma
14:38:28 - 13/12/2025 -
Python Mini Proje: Sayı Tahmin Oyunu
14:37:58 - 13/12/2025 -
Python Mini Proje: Hesap Makinesi
14:37:31 - 13/12/2025