Bu yazımızda birçok programlama dilinde olduğu gibi Python dilinde de en önemli konularından birisi olan fonksiyonlar konusundan bahsedeceğiz.
Öncelikle fonksiyonların ne olduğunu açıklayarak başlayalım.
Fonksiyonlar Nedir ?
Fonksiyonlar kodunuzu daha düzenlenebilir ve okunabilir hale getirir. Düzenlenebilir olması sayesinde, programınızda bir yerde değişiklik yapmak istediğinizde tüm kodunuzda değil, sadece fonksiyon içerisinde değişiklik yapmanız yeterli olacaktır.
Daha iyi anlaşılması için bir örnek ile açıklayalım. Örneğin bir program yazıyoruz ve programımızda 2 farklı yerde aynı işi yaptırmak istiyoruz. Fonksiyonları kullanmadığımız taktirde 2 ayrı yerde aynı kodu tekrar tekrar yazmak zorunda kalırız. Bunun önüne geçmek için fonksiyon kullanmak zorundayız. Yapacağımız işi bir fonksiyon içerisine yazıp, bunu ihtiyacımız olan yerlerde kullanabiliriz.
Python Fonksiyon Yapısı
Python’da fonksiyonların genel tanımı aşağıdaki gibidir.
def fonksiyon_Adi(parametre1,parametre2):
kodlar
fonksiyon_Adi()
Basit bir fonksyion görelim.
def fonk():
print("Merhaba")
Python Fonksiyon Çağırma
Yukarıda ‘fonk’ adlı fonksiyonu çağırdık. Fakat bu fonksiyonun çalışması için bu yeterli olmayacaktır. Bu fonksiyonu istediğimiz yerde çağırıp çalıştırabiliriz. Hemen örnek ile görelim.
def fonk():
print("Merhaba")
fonk()
Burada ekrana ‘Merhaba’ yazdıracaktır.
Örnekte de gördüğümüz üzere fonksiyonu bir defa tanımladıktan sonra ‘fonk()’ şeklinde fonksiyonu çağırıyoruz ve fonksiyonun içerisindekiler çalışıyor. Örneğin farklı yerlerde ekrana merhaba yazdırmak istediğimizde fonksiyonumuzu çağırmamız yeterli olacaktır.
Python Parametresiz Fonksiyonlar
Parametresiz fonksiyonlar hiçbir değer veya değişken göndermediğimiz fonksiyonlarıdır. Aslında yukarıda gördüğümüz fonksiyonların tamamı parametresiz fonksiyonlardı. Tekrar küçük bir örnek ile Python parametresiz fonksiyonların nasıl yazıldığını görelim.
def fonk():
print("Bu bir parametresiz fonksiyondur.")
fonk()
Çıktısı :
Bu bir parametresiz fonksiyondur.
Python Parametreli Fonksiyonlar
Parametreli fonksiyonlar, fonksiyona değer veya değişken gönderdiğimiz fonksiyonlardır. Yani fonksiyona, fonksiyonu çağırdığımız yerden bazı bilgiler göndeririz ve bu bilgiler ile bir şeyler yapmasını isteriz. Örnek olarak fonksiyona 2 farklı değer gönderelim ve işlem yaptıralım.
def topla(sayi1, sayi2):
print(sayi1 + sayi2)
topla(25,5)
Bu örnekte fonksiyona 25 ve 5 sayılarını gönderiyoruz. Fonksiyon’da bu değerleri ‘sayi1’ ve ‘sayi2’ değerlerine atıyoruz ve toplama işlemini ekrana yazdırıyoruz. Sonuç olarak ekrana 30 yazdırılır.
Python Return Deyimi
Return deyimi fonksiyondan bir değer döndürülmesi için kullanılır. Aynı işlemi return deyimi ile yapalım.
def topla(sayi1, sayi2):
return sayi1 + sayi2
print(topla(25,5))
Çıktısı yine 30 olacaktır.
Python Fonksiyon Örnekleri
Birkaç tane Python basit fonksiyon örneği görelim.
Soru 1 : Kullanıcıdan alınan iki sayıyı çarpan kodu fonksiyon kullanarak yazınız.
def topla(s1, s2):
return s1 * s2
sayi1 = int(input('sayı 1:'))
sayi2 = int(input('sayı 2:'))
print(topla(sayi1,sayi2))
Çıktısı :
Soru 2 : Girilen iki sayıdan büyük olan ekrana yazdıran Pyython kodunu fonksiyon kullaranak yazınız.
def topla(s1, s2):
if(s1 > s2):
return s1
else:
return s2
sayi1 = int(input('sayı 1:'))
sayi2 = int(input('sayı 2:'))
print(str(topla(sayi1,sayi2)) + " sayısı büyük")
Çıktısı :
sayı 1:5
sayı 2:3
5 sayısı büyük
Soru 3: Fonksiyon kullarak faktoriyel hesabı yapan Python kodunu yazınız.
def faktoriyel(n):
if n == 1:
return n
else:
return n*faktoriyel(n-1)
print(faktoriyel(5))
Çıktısı :
120
Bu yazımızda Python fonksiyonlar konusunu işledik. fonksyonlar, parametresiz fonksiyonlar ve parametreli fonksiyonlar konularından bahsettik. Umarım faydalı olmuştur. Diğer Python dersleri yazılarımızı da okumak isterseniz buradan tümüne ulaşabilirsiniz.