Fonksiyonlar

Fonksiyon Tanımı ve Kullanımı

October 25, 2018 - 3 minute read -
code example

Fonksiyon

Fonksiyon, belirli bir işlevi gerçekleştiren kodlarımızı daha sonra tekrar tekrar kullanmak üzere kapsüllediğimiz yapıdır.

Fonksiyonlar tanımlanır ve kullanılır. Bir fonksiyonu tanımlarken def sözcüğü kullanılır. Bir fonksiyonu kullanırken yani bu fonksiyonu çağırırken ise bu fonksiyonu tanımladığımız isimi kullanırız.

Örneğin, eski örneklerimizde ortalama hesaplama işlemlerini yaptık. Bu hesaplama işlemini yeniden kullanmak istediğimizde eski yazdığımız kodu yeniden yazmamız gerekir. Ancak ortalama hesaplama olarak bir fonksiyon yaparsak her ortalama hesaplamak istediğimizde bu fonksiyonu çağırarak ortalama hesaplatabiliriz.

Geri dönüşsüz fonksiyonlar

Fonksiyonlar geri bir değer dönmeden sadece bazı işlevleri gerçekleştirebilirler. Örneğin sürekli olarak ekrana print("türkalp") yazmak yerine adimiEkranaYaz() fonksiyonu tanımlar ve her adımı ekrana yazdırmak istediğimde bu fonksiyonu çağırarak adımı ekrana yazdırabilirim.

Fonksiyon tanımlama
def adimiEkranaYaz():
    print("türkalp")
Fonksiyonu çağırma
adimiEkranaYaz()

Geri dönüşlü fonksiyonlar

Fonksiyonlar geri değer dönebilir. Örneğin, isim sorma fonksiyonu olduğunu düşünelim. adinNe() fonksiyonunu çağırdığımda bu fonksiyondan cevap beklediğimiz anlaşılıyor. Bu fonksiyon bize bir isim söyleyebilmesi için return kelimesini kullanırız.

Fonksiyon tanımlama
def adinNe():
    return "türkalp"
Fonksiyonu çağırma
degisken = adinNe()

print(adinNe())

adinNe() fonksiyonunun 2 şekilde kullanımı gösterilmiştir. Geri dönüş yapan fonksiyonlar yukarıdaki gibi bir değişkene atanabilir ya da geri dönen değer direk olarak ekrana yazdırılabilir.

Yukarıdaki gibi bir kullanım bize aşağıdaki gibi bir kullanım sağlamış olur.

degisken = "türkalp"

print("türkalp")

Örneğin ortalama hesaplayıp bu ortalamayı geri dönen bir uygulamayı aşağıdaki gibi tanımlayabiliriz.

def ortalamaNe():
    vize = 90
    final = 85
    return (vize + final)/2

ortalamaNe() fonksiyonu yardımıyla ortalamayı ekrana yazdırırken ise,

print(ortalamaNe())

olarak kullanırız.

Argüman alan fonksiyonlar

Yukarıdaki tanımladığımız fonksiyonda vize ve final notumuz değiştiğinde bu fonksiyonu tanımlarken değiştirmek zorunda kalacağız. Ancak fonksiyonlar tekrar tekrar kullanılacağından bu fonksiyonu tanımlarken değiştirmek kullanışlı olmayacaktır. Bu durumda fonksiyonları tanımlarken daha dinamik tanımlayıp, kullanırken bu fonksiyonlara değişkenlik kazandırabilmek için fonksiyon tanımlarken argüman kullanmalıyız.

Yukarıdaki ortalamaNe() fonksiyonunu argüman ekleyerek aşağıdaki gibi tanımlayabiliriz.

def ortalamaNe(vize, final):
    return (vize + final) / 2

Yukarıdaki gibi bir fonksiyon tanımlarsak, farklı notların ortalamasını ekrana yazdırırken bu fonksiyonu aşağıdaki gibi çağırabiliriz.

print(ortalamaNe(90, 85))

print(ortalamaNe(55, 67))

Bu argümanları tanımladığımız sırayla veririz. Eğer bu argümanları tanımladığımız sırayla vermek istemezsek eğer tanımlarken kullandığımız argüman değişkenlerinin ismini belirtiriz. Yukarıdaki örnekte vize notu 90, final notu 85 olan birinin ortalamasını hesaplıyor. Bu argümanları sırasıyla vermek yerine yani vize, final yerine final, vize olarak vermek istersek aşağıdaki gibi kullanırız.

print(ortalamaNe(final=85, vize=90))

print(ortalamaNe(final=67, vize=55))