Python’da Fonksiyonlar

İbrahim ATLI

Updated on:

Bu makalemizde Python’da Fonksiyonlar konusunu ele alacağız.

Fonksiyonlar, belirli bir görevi yerine getirmek için tekrar tekrar kullanılabilen kod bloklarıdır. Ayrıca, Python’da fonksiyonlar, kodun okunabilirliğini arttırmak ve programlama projelerini daha modüler hale getirmek için de kullanılır.

Python’da fonksiyonlar, def anahtar kelimesiyle tanımlanır ve belirli bir fonksiyonu çağırmak için fonksiyon adı ve parantez kullanılır. Fonksiyonlar, belirli bir işlem yapmak için bir veya daha fazla parametre alabilirler ve bir değer döndürebilirler.

1.Parametre Almayan Fonksiyon(Void Function)

Bir fonksiyon, herhangi bir çıktı üretmeyen bir işlevi yerine getiriyorsa, bu tür fonksiyonlara “parametre almayan fonksiyon” veya “void fonksiyon” adı verilir. Örneğin, aşağıdaki kod bloğu, “Selamlama” adında bir fonksiyon tanımlar.

 

Fonksiyonumuzu yazdırdıktan sonra eğer çalıştırırsak ekranda bir çıktının olmadığını aşağıdaki gibi görürüz:

Bunun nedeni fonksiyonu yazdık ama çağırmadık. Aşağıdaki gibi fonksiyon adını yazarak çağırmış oluruz.

 

Bu fonksiyon, hiçbir parametre almaz ve sadece ” Merhaba arkadaşım” metnini ekrana yazdırır.

2.Parametre Alan Fonksiyon

Yukarıdaki aynı soruyu bu sefer parametre alacak şekilde fonksiyonumuzu yazalım.

 

Ekran çıktısı  aşağıdaki gibidir:

3.Önceden Tanımlı Parametre Alan Fonksiyon

Python’da fonksiyonlar, gerekli olmayan ancak isteğe bağlı parametreler de alabilirler. İsteğe bağlı parametreler, fonksiyonun işleyişini değiştirmeden bazı özelliklerin eklenmesine izin verir. İsteğe bağlı parametreler, varsayılan bir değer atamasıyla tanımlanır.

Aşağıdaki kod bloğu, Selamlama adında bir fonksiyon tanımlar ve bu fonksiyon, bir isim ve bir selam parametresi alır. selam parametresi, fonksiyonun selamlama türünü belirler ve varsayılan değeri “Merhaba” olarak tanımlanmıştır:

kodumuzun çıktısı aşağıdaki gibidir:

4.Birden Fazla Parametre Alan Fonksiyonlar Ve Return İfadesi

Python’da fonksiyonlar, çoğu zaman birden fazla parametre alabilirler ve bu parametreler, fonksiyonun çalışması için gereken bilgileri sağlarlar. Örneğin, aşağıdaki kod bloğu, iki parametre alan Topla adında bir fonksiyon tanımlar ve bu fonksiyon, bu iki parametreyi toplar ve sonucu döndürür:

 

Kodumuzu bu şekilde yazarsak yine ekran bir sonuç görülmeyecektir bunun nedeni
Fonksiyon çağrısı yaptığınızda, fonksiyonun geri döndürdüğü değer yalnızca bellekte saklanır ve ekranda görüntülenmez. Bu nedenle, Topla(5,4) ifadesini yazdığınızda, 9 değeri fonksiyonun geri döndürdüğü değer olarak hesaplanır ve bellekte saklanır. Ancak, herhangi bir işlem yapılmadığı için bu değer ekranda görüntülenmez.

Eğer print() fonksiyonu kullanırsanız, fonksiyonun geri döndürdüğü değeri ekranda gösterirsiniz. Yani print(Topla(5,4)) ifadesi, Topla(5,4) fonksiyonunun geri döndürdüğü 9 değerini ekranda gösterir.

Bu nedenle, ekranda fonksiyonun geri döndürdüğü değeri görmek için, print() fonksiyonunu kullanmalısınız.

 

kodumuzu yukarıdaki gibi düzeltiğimizde ekran çıktısı aşağıdaki olacaktır:

Konuyu pekiştirmek adına güzel bir örnek yapalım. Örneğimizde, kullanıcının girdiği bir metni tersine çeviren bir fonksiyon oluşturacağız. Ardından, bu fonksiyonu kullanarak bir dizeyi tersine çevirmek için bir program yazacağız.

 

Yukarıdaki örnekte,  metniTersineCevir() adlı bir fonksiyon oluşturduk. Bu fonksiyon, verilen metin parametresini tersine çevirir ve çevrilmiş metni geri döndürür.

Sonra input() fonksiyonu kullanarak bir metin girdisi aldık ve bu metni metniTersineCevir() fonksiyonuna gönderdik. Fonksiyon, metni tersine çevirip geri döndürdü. Daha sonra, çevrilmiş metni bir değişkende sakladık ve ekrana yazdırdık.

Bu program, kullanıcının girdiği metni tersine çevirir ve sonucu ekrana yazdırır. Örneğin, kullanıcının “Merhaba python” girdiği durumda, program ” nohtyP abahreM” çıktısını verecektir.

Bu örnek, kullanıcı tarafından girilen bir metnin nasıl işlenebileceği konusunda fikir vermesi açısından yararlıdır. Ayrıca, bir fonksiyonun nasıl kullanılabileceği ve bir programda nasıl entegre edilebileceği konusunda da örnekler sunar.

İleri Düzey Bir Fonksiyon Örneği

Şimdi ise biraz daha ileri bir uygulama ile fonksiyon konusunu pekiştirelim.

listeAra() diye bir fonksiyonumuz olsun
Verilen listede aranan elemanın kaçıncı indekste olduğunu döndürsün ve .Eğer listede yoksa 0 döndürür listede yok desin.

kacAdet() diye bir fonksiyonumuz olsun
Verilen listede kaç tane eleman olduğunu döndürsün

 

Bu örnekte, listedeAra()  ve kacAdet() adlı iki fonksiyon oluşturduk. listedeAra ()  fonksiyonu, verilen bir listede bir elemanın kaçıncı indekste olduğunu döndürür. Eğer eleman listede yoksa, 0 döndürür. kacAdet() fonksiyonu ise verilen bir listede bir elemanın kaç adet olduğunu döndürür.

Daha sonra, kullanıcıdan bir liste ve bir aranacak eleman istedik. listedeAra() ve kacAdet() fonksiyonları bu liste üzerinde kullanıldı ve sonuçları ekrana yazdırdık.

Bu örnekte, gerçek hayatta sık kullanılan iki farklı fonksiyon oluşturduk ve bunları birlikte kullandık. listedeAra() fonksiyonu, bir veri kümesi içinde bir öğenin aranması gereken bir durumda kullanılabilir. kacAdet () fonksiyonu ise, bir veri kümesindeki tekrar eden öğelerin sayısını bulmak için kullanılabilir.

Bu kodumuzun ekran çıktısı aşağıdaki gibidir:

Yorum yapın