Python · 5/8
Fonksiyonlar: kodu tekrar kullanmak
Parametre alan ve değer döndüren bir fonksiyonu farklı girdilerle kullanmak.
Önerilen çalışma: 25–45 dakika; örnekleri kendin uygula. Süre kişiye göre değişir.
Bu sayfada · 9 başlık
Başlamadan önce
Önceki dersteki örneği çalıştırmış olman ve dosya/çıktı ayrımını biliyor olman yararlı.
Öğrenme sırası: konuyu oku → çıktıyı tahmin et → örneği değiştir → alıştırmayı çöz → cevabını gerekçelendir.

Videoyla adım adım izle
Türkçe açıklamalı sessiz görsel anlatım. Sesli ders veya kesintisiz ekran kaydı değildir. Duraklatıp kendi ortamında uygula.
Video bölümleri ve tam metin
Fonksiyonlar: kodu tekrar kullanmak
Parametre alan ve değer döndüren bir fonksiyonu farklı girdilerle kullanmak.
Kavramı kur
Fonksiyon bir işi adlandırır ve tekrar kullanılabilir hâle getirir. Parametre, iş yapılırken değişmesini istediğin girdinin adıdır. Fonksiyonu çağırırken gerçek değeri argüman olarak verirsin. Böylece aynı hesap kuralını farklı sayılarda yeniden yazmadan kullanabilirsin; hesap bir yerde tanımlanır, birçok yerde çağrılır.
Neden böyle çalışıyor?
Bir değeri döndürmek ile ekrana yazdırmak farklı işlerdir. return çağıran koda bir sonuç verir; çıktı komutu ise bir bilgiyi görünür kılar. Hesaplayan fonksiyonun sonucunu başka hesaplarda kullanmak istiyorsan değeri döndür. Yazdırmayı çağıran koda bırakmak fonksiyonu denemeyi ve yeniden kullanmayı kolaylaştırır.
Çalışma sırası
İyi bir başlangıç fonksiyonu küçük ve tek amaçlıdır. Adını bir eylem gibi seç, hangi girdileri kabul ettiğini ve hangi sonucu ürettiğini yaz. Bir normal, bir sınır ve mümkünse bir beklenmeyen durum düşün. Her olası sorunu tek fonksiyona doldurmak yerine önce sözleşmesini anlaşılır kıl.
İkinci örnek · 1
Fonksiyonun adı yapılan işi anlatır. Kodun tamamı yazılı derste bulunur.
Kod
def iki_kat(sayi):
return sayi * 2
print(iki_kat(4))
print(iki_kat(7))Beklenen sonucu oku
İki çağrı aynı kuralı farklı girdilerle uygular.
Beklenen çıktı: 8 14
Bir değeri sen değiştir
ikiKat fonksiyonunu 4 ve 7 için çağır; 8 ve 14 bekle. Sonucu bir değişkene alıp üzerine 1 ekle; yazdırmadan da kullanılabildiğini göster.
Hata nereden gelir?
Fonksiyonu tanımlamak onu çalıştırmaz; ayrıca çağırman gerekir.
Kendi çözümünü kur
İki sayı alıp toplam döndüren yeni bir fonksiyon yaz; üç farklı girdi çiftiyle kontrol et. Fonksiyonun içinde sadece hesabı döndür. Sonucu görmek için çağrıdan sonra yazdır.
Çözüm varyasyonu · 1
Önce kendi denemeni yap; sonra bu varyasyonun girdileri ile sonucunu karşılaştır.
Kod
def iki_kat(sayi):
return sayi * 2
print(iki_kat(5))
print(iki_kat(0))Kendini kontrol et
Bir fonksiyonun sonucu başka hesapta kullanılacaksa neden yalnızca yazdırmak yeterli değildir? Yanıt: Yazdırma ekrana yan etki üretir; çağıran koda kullanılabilir sonuç vermek için uygun bir dönüş değeri gerekir.
Beklenen çıktı: 10 0
Konu anlatımı
Fonksiyon bir işi adlandırır ve tekrar kullanılabilir hâle getirir. Parametre, iş yapılırken değişmesini istediğin girdinin adıdır. Fonksiyonu çağırırken gerçek değeri argüman olarak verirsin. Böylece aynı hesap kuralını farklı sayılarda yeniden yazmadan kullanabilirsin; hesap bir yerde tanımlanır, birçok yerde çağrılır.
Bir değeri döndürmek ile ekrana yazdırmak farklı işlerdir. return çağıran koda bir sonuç verir; çıktı komutu ise bir bilgiyi görünür kılar. Hesaplayan fonksiyonun sonucunu başka hesaplarda kullanmak istiyorsan değeri döndür. Yazdırmayı çağıran koda bırakmak fonksiyonu denemeyi ve yeniden kullanmayı kolaylaştırır.
İyi bir başlangıç fonksiyonu küçük ve tek amaçlıdır. Adını bir eylem gibi seç, hangi girdileri kabul ettiğini ve hangi sonucu ürettiğini yaz. Bir normal, bir sınır ve mümkünse bir beklenmeyen durum düşün. Her olası sorunu tek fonksiyona doldurmak yerine önce sözleşmesini anlaşılır kıl.
def ile fonksiyon tanımlanır. Parametre fonksiyonun yerel adıdır; dışarıdaki aynı isimli değişkeni otomatik olarak değiştirmez. return yoksa fonksiyon None döndürür; bu yüzden yalnızca print yapan bir fonksiyonun çıktısını hesap gibi kullanamazsın.
İlk örneği oku ve dene
Fonksiyonlar: kodu tekrar kullanmak
Fonksiyon, bir işi yapan ve bir isim verdiğin kod parçasıdır. Bir kere yazarsın, istediğin kadar çağırırsın. Python'da fonksiyonlar def ile başlar.
def selamla(isim):
return "Merhaba " + isim + "!"
print(selamla("Mehmet"))
▶ Sonuç
Merhaba Mehmet!
Adım adım neden böyle çalışıyor?
- Fonksiyonun adı yapılan işi anlatır.
- Parametre çağrıdaki değeri yerel olarak adlandırır.
- return hesaplanmış sonucu çağıran koda verir.
- İki çağrı aynı kuralı farklı girdilerle uygular.
İkinci çözümlü örnek
Parametre alan ve değer döndüren bir fonksiyonu farklı girdilerle kullanmak.
def iki_kat(sayi):
return sayi * 2
print(iki_kat(4))
print(iki_kat(7))
▶ Sonuç
8 14
Kolaydan zora sen dene
- ikiKat fonksiyonunu 4 ve 7 için çağır; 8 ve 14 bekle.
- Sonucu bir değişkene alıp üzerine 1 ekle; yazdırmadan da kullanılabildiğini göster.
- İki sayı alıp toplam döndüren yeni bir fonksiyon yaz; üç farklı girdi çiftiyle kontrol et.
İpucunu aç
Fonksiyonun içinde sadece hesabı döndür. Sonucu görmek için çağrıdan sonra yazdır.
Üç görevin açıklamalı çözümünü oku
- ikiKat(4) sonucu 8, ikiKat(7) sonucu 14 olmalıdır.
- Dönen 8 değerini bir değişkende saklayıp 1 eklediğinde 9 elde edilir. Fonksiyon yalnızca yazdırıyor olsaydı bu hesap için açık dönüş değeri bulunmayabilirdi.
- Topla işlevi iki parametre alıp onların toplamını döndürür. (2,3) için 5, (0,4) için 4, (-1,1) için 0 bekle; yazdırmayı çağıran yerde yap.
Bir çözüm varyasyonu gör
Çözüm varyasyonu
Önce kendi görevlerini dene. Bu varyasyonda girdi ve sonuçları karşılaştır.
def iki_kat(sayi):
return sayi * 2
print(iki_kat(5))
print(iki_kat(0))
▶ Sonuç
10 0
Yaygın hata ve çözümü
- Fonksiyonu tanımlamak onu çalıştırmaz; ayrıca çağırman gerekir.
- Yalnızca yazdıran bir fonksiyonu hesap sonucu gibi kullanmak işe yaramayabilir; return ile çıktı arasındaki farkı izle.
Kendini değerlendir
Ezberlemeden açıklayabiliyor musun?
Bir fonksiyonun sonucu başka hesapta kullanılacaksa neden yalnızca yazdırmak yeterli değildir?
Açıklamalı yanıt
Yazdırma ekrana yan etki üretir; çağıran koda kullanılabilir sonuç vermek için uygun bir dönüş değeri gerekir.
Kendi çözümünde bir girdiyi değiştir. Çalıştırmadan önce beklenen sonucu yaz; gerçek sonuçla karşılaştır ve fark varsa hangi satırdan kaynaklandığını açıkla.
Kaynak ve çalışma ortamı
Örnekler küçük öğretim senaryolarıdır. Java/C#/PHP/Swift çalışma ortamını kendi cihazında ayrıca doğrula; yazılı sonuçlar beklenen davranışı açıklar.
Resmî dil belgeleriBu içerik işine yaradı mı?
Görüşünü aşağıdan işaretleyebilir ve varsa notunu bırakabilirsin.