Page 162 - Bilgisayar Bilimi | Kur 1
P. 162
6.1. Neden Fonksiyonlar?
Büyük ve kapsamlı bir program yazdığımızı ve program kapsamında pek çok kez aynı işlemi yap-
mamız gerektiğini düşünelim. Örneğin karekökü hesaplamak. Matematik bağlamında iki geometrik
nokta (x1, y1) ve (x2, y2) arasındaki uzaklığı hesaplamamız gerekebilir. İkinci dereceden bir denklemin
(ax2+bx+c = 0) çözüm kümesini bulmamız istenebilir. Elektrik mühendisliği ya da fizik bağlamında bir
dizi değerin sayıların karelerinin ortalamasının karekökünü bulmamız beklenebilir.
Bu durumda her formül için karekök hesaplama yapan program satırlarını tekrar tekrar gereken
yerlere kopyalamamız mı gerekir? Peki ya karekök bulma işlemi pek çok farklı program tarafından kul-
lanılan bir hesaplama ise o zaman bütün programların içerisine yine bu satırları eklememiz mi gerekir?
Acaba bu şekilde tekrarlayan işlemler için bu kodu paketleyip tekrar kullanmamızı sağlayan bir yöntem
var mıdır?
6.2. Fonksiyon Nedir?
Bu kodu paketleyerek tekrar tekrar kullanmamızı sağlayan yaklaşımlardan biri «fonksiyonlar»dır.
Bir fonksiyon, tekrar kullanılabilen kod parçacığıdır. Kendimiz fonksiyon yazabileceğimiz gibi önceden
yazılmış ve kullanıma hazır fonksiyonları da kullanabiliriz. Diğer programlama dillerinde olduğu gibi
Phyton kapsamında da standart fonksiyonların bulunduğu bir kütüphane vardır. Programcılar «modül»
olarak adlandırılan bu fonksiyonları kendi kodları içinden çağırarak kullanabilirler.
6.3. Fonksiyonlara Giriş
Aslında biz ilk bölümden itibaren fonksiyonları kullanmaya başlamıştık: Print, input, int, float, str,
ve type. Sıkça kullanılan işlemlerin çoğu için Phyton kütüphanesinde pek çok fonksiyon bulunmakta-
dır. Fonksiyon kavramını anlatmak için karekök bulma ve kare alma işlemlerini kullanalım. Fonksiyon-
lar, belirli bir işlemi gerçekleştiren kod bloğudur. İlgili işlemi gerçekleştirmek için fonksiyon çağırılır.
Phyton kütüphanesinde sqrt isimli bir fonksiyon karekök alma işlemini yapmaktadır. Bu fonksiyon
tamsayı ya da reel sayı kabul etmektedir. Örneğin parametre olarak 16 gönderildiğinde 4 değeri geri
dönmektedir.
Fonksiyonları kapalı bir kutu olarak düşünebiliriz. İçerisindeki kodlama detaylarını bilmemize gerek
olmadan kolayca çağırıp işlem yaptırmak için kullanabiliriz. Dolayısıyla işlemi nasıl yaptığından daha
çok ne yaptığını bilmemiz yeterli olur.
161