Şu ana kadar gördüğümüz bir fonksiyon oldu; print()
, bir mesajı, outputu yazdıran fonksiyon. Bir fonksiyon, adı ve onu takip eden parantez içinde bir argüman (argument) yazılarak kullanılır. Argument kelimesi temel olarak fonksiyonun girdisi (input) anlamına gelir. Fonksiyon, içerdiği argümanlara bağlı olarak işlemler yapar. Bir fonksiyonda birden fazla argüman varsa virgülle ayırırız (,
). Örneğin yazılmasını istediğiniz birden fazla argüman varsa print komutunun ardından açtığınız parantezin içinde argümanları virgülle ayırırsınız. Aşağıdaki örneği inceleyelim.
Örnek programdaki fazladan boşlukların çıktıya etkisi olmayacak. Fazladan boşlukların sonuca genelde bir etkisi yoktur. Yine de bir satırın başında fazladan bırakılmış boşluklar konusunda çok dikkatli olun; Python'da indenting (girinti) adı verilen bu satır başı boşluklarının önemli bir işlevi vardır ve yanlış kullanıldığında (örnek için tıklayın) hataya sebep olur. Birkaç ders sonra doğru girintileme hakkında bilgiler alacaksınız. |
Bir fonksiyon çıktı olarak bir değer de verebilir. Örneğin function max()
(maximum'dan kısaltma) fonksiyonun mevcut argümanlarından en yüksek olanı verir; tabii bu sadece sayısal argümanlar için geçerlidir.
max(42, 17) dediğimizde,
"max fonksiyonu 42
değerini döndürdü (return)." demiş oluyoruz.
Max fonksiyonunun benzer işlevli bir kankası vardır: min
fonksiyonu sayısal argümanları içinden en küçüğünü minimum döndürür (return).
x = 13
y = 7
a = max(x+y, x*2)
b = min(x, y)
print(a,b)
Fonksiyonların bir araya getirilmesi ile daha komplike ifadeler kurulabilir.
x = min(max(13, 7), 9)
print(x)
Python'da kullanabileceğiniz fonksiyonlar önceden tanımlanmış olanlarla sınırlı değil. Birkaç ders içinde siz de yeni fonksiyonlar tanımlamayı öğrenebileceksiniz!
Genel Hatalar
Eğer bir fonksiyonu yetersiz veya gereğinden fazla sayıda argümanla (input) çağırırsanız hata ile karşılaşırsınız. Örneğin max
en azından bir input gerektirir:
Kodunuz çalışmadığında aldığınız hata mesajlarını dikkatlice okumanız çok önemli. Bu hata mesajlarında Python genellikle sorunun nerede olduğunu anlamamıza yardımcı olacak bilgi verir. Ama bazen sorunu anlayabilmek için biraz daha etraflı incelemeniz gerekir — örneğimize bakalım.
Python bize burada bir syntax hatası olduğunu söylüyor, yani ne yapmaya çalıştığımızı anlayamamış:
Traceback (most recent call last): In line 2 of the code you submitted: daha_büyük = max(3, 4) ^ SyntaxError: invalid syntaxAma
daha_büyük = max(3, 4)
satırında sorun yok. Aslında problem bir önceki satırdan kaynaklanıyor: daha_küçük = min(14, 99
yazdığımızda parantezi kapatma işaretini yazmayı unuttuk )
ve Python bir sonraki satırda )
işaretini aramaya gitti. Bu sebeple, hata ayıklarken takılırsanız Python'un bize gösterdiği satırın öncesine ve sonrasına bakmakta fayda var.
Alıştırma
Burada min
ve max
fonksiyonlarını kullanacağımız iki parçalı bir alıştırmaya bakalım. Maxime ve Miniac şehirleri arasında birkaç köprüyle kurulmuş bağlantılar var. Her bir köprü üzerinden taşınabilecek ağırlık miktarı için farklı limitler konmuş.
Alıştırma: Kod Karıştırma
Buradaki karışmış kodları, satırları çekerek ve doğru yere bırakarak, programı yeniden düzenleyebilirsiniz.
Yukarıdaki alıştırmayı bitirince;