Resim

Python Fonksiyonlar

Python Fonksiyonları: Modüler ve Yeniden Kullanılabilir Kod Yazma

Neden Fonksiyonlara İhtiyaç Duyarız?

Merhaba! Büyük ve karmaşık programlar yazarken, aynı kod parçasını tekrar tekrar yazmak yerine, o kodu bir kez tanımlayıp istediğimiz yerde defalarca çağırmak isteriz. İşte Fonksiyonlar bu ihtiyaca cevap verir.

Bir fonksiyon:

  1. Modülerlik sağlar: Büyük bir problemi küçük, yönetilebilir parçalara böler.

  2. Yeniden kullanılabilirlik sağlar: Aynı kodu defalarca yazma ihtiyacını ortadan kaldırır ("Don't Repeat Yourself" - DRY prensibi).

  3. Okunabilirliği artırır: Kodu daha anlaşılır ve düzenli hale getirir.

Bu yazıda, Python'da fonksiyonların nasıl tanımlandığını, nasıl kullanıldığını ve argüman (parametre) çeşitlerini öğreneceğiz.


1. Fonksiyon Tanımlama ve Çağırma

Python'da bir fonksiyon tanımlamak için def anahtar kelimesi kullanılır.

Söz Dizimi

  1. def anahtar kelimesiyle başlanır.

  2. Fonksiyona bir isim verilir (İsimlendirme kuralı değişkenlerle aynıdır).

  3. Fonksiyon isminin ardından parantez () içine argümanlar (parametreler) yazılır (argüman yoksa bile parantez konulmalıdır).

  4. Tanımlamanın sonunda iki nokta üst üste (:) konulur.

  5. Fonksiyonun çalıştıracağı kod bloğu girintili olarak yazılır.

  • Örnek: Argümansız Fonksiyon

    def selamla():
        print("Merhaba, fonksiyona hoş geldiniz!")
    
    # Fonksiyonu çağırma (kullanma)
    selamla()
    # Çıktı: Merhaba, fonksiyona hoş geldiniz!
    

Kendiniz Deneyebilirsiniz:


2. Argümanlar (Parametreler) ve Değer Döndürme (return)

Fonksiyonlar, kendilerine dışarıdan veri alarak (argümanlar) daha dinamik çalışır ve genellikle bir sonuç üretip bunu dışarıya döndürür.

a. Argüman Kullanımı

Fonksiyon tanımlanırken parantez içine yazılan isimler parametre adını alır. Fonksiyon çağrılırken parantez içine yazılan değerler ise argüman adını alır.

# 'isim' bir parametredir
def karsilama(isim):
    print(f"Merhaba {isim}, nasılsın?")

# "Ayşe" bir argümandır
karsilama("Ayşe")
# Çıktı: Merhaba Ayşe, nasılsın?

b. Değer Döndürme (return)

return anahtar kelimesi, fonksiyonun çalışmasını durdurur ve belirtilen değeri fonksiyonu çağıran yere geri döndürür. Eğer return kullanılmazsa veya boş kullanılırsa, fonksiyon varsayılan olarak None değerini döndürür.

def
topla(sayi1, sayi2):

    sonuc = sayi1 + sayi2
    return sonuc # Sonucu geri döndür

# Fonksiyonun döndürdüğü değeri bir değişkene atama
toplam = topla(10, 5)
print(toplam * 2)
# Çıktı: 30

Kendiniz Deneyebilirsiniz:


3. Argüman Çeşitleri (Parametre Tipleri)

Python, fonksiyon çağrılarında büyük esneklik sağlar.

a. Varsayılan Değerli Argümanlar (Default Arguments)

Bir parametreye varsayılan bir değer atayarak, o argüman fonksiyona sağlanmadığında o varsayılan değerin kullanılmasını sağlayabiliriz.

def yetki_goster(kullanici, yetki="Okuyucu"):
    print(f"{kullanici} yetki seviyesi: {yetki}")
yetki_goster("Deniz")# Çıktı: Deniz yetki seviyesi: Okuyucu 
(Varsayılan kullanıldı)
yetki_goster("Ece", "Yönetici") # Çıktı: Ece yetki seviyesi: Yönetici

b. Anahtar Kelimeli Argümanlar (Keyword Arguments - kwargs)

Fonksiyonu çağırırken argümanları isimleriyle (isim=değer) belirterek, argümanların sırasını önemsemeyebiliriz. Bu, özellikle çok sayıda parametre olduğunda okunabilirliği artırır.

def
ozet_goster(isim, soyisim, yas):

    print(f"İsim: {isim}, Yaş: {yas}, Soyisim: {soyisim}")

# Sıra önemli değil, isimleriyle çağrıldı
ozet_goster(yas=30, isim="Ali", soyisim="Yılmaz") 
# Çıktı: İsim: Ali, Yaş: 30, Soyisim: Yılmaz

Kendiniz Deneyebilirsiniz:


4. Docstring: Fonksiyonları Belgeleme

Python'da fonksiyonların hemen altına üç tırnak ("""...""") arasına yazılan açıklamaya Docstring denir. Bu, fonksiyonun ne yaptığını, hangi argümanları aldığını ve ne döndürdüğünü belgelemek için standart bir yöntemdir.

def carp(x, y):
    """
    Verilen iki sayıyı çarpar ve sonucu döndürür.

    Parametreler:
    x (int/float): Birinci sayı.
    y (int/float): İkinci sayı.

    Döndürür:
    int/float: x ve y'nin çarpımı.
    """
    return x * y

# Fonksiyonun belgelerine erişim
print(carp.__doc__)

Kendiniz Deneyebilirsiniz:

5. pass Anahtar Kelimesi: Yer Tutucu

pass, Python'da boş bir işlem anlamına gelen bir yer tutucudur (placeholder). Python, girintili kod bloklarında (fonksiyonlar, if ifadeleri, for/while döngüleri, class tanımları) en az bir ifade beklediği için kullanılır.

Fonksiyonlarda Kullanımı

Bir fonksiyon tanımlarken (örneğin, ileride yazacağınız bir fonksiyon için taslak oluştururken) içine hiçbir kod yazmazsanız, Python IndentationError (Girinti Hatası) verir. pass, bu hatayı önler.

Kullanım Amacı: Fonksiyonun söz dizimini (syntax) tamamlamak ve ileride doldurulacağını belirtmek.

# Hata alırsınız, çünkü fonksiyon içinde hiçbir şey yok
# def ileride_yazilacak_fonksiyon():
# # Boş blok hataya neden olur
# Doğru Kullanım: pass ile hata önlenir
def ileride_yazilacak_fonksiyon():
    pass 
# Fonksiyon çağrıldığında hiçbir şey yapmaz, ancak hata da vermez.
ileride_yazilacak_fonksiyon() 

Özetle

  • Nedir: Boş bir ifade.

  • Ne Yapar: Hiçbir şey yapmaz, program akışını değiştirmez.

  • Neden Kullanılır: def, if, for gibi yapıların girintili kod bloğunda Python'ın bir ifade beklemesi durumunda, söz dizimi hatası almamak için kullanılır.


Kod Kalitesini Artırma

Fonksiyonlar, yazılım geliştirmenin temelidir. Küçük, iyi tanımlanmış ve düzenli fonksiyonlar kullanarak sadece zamandan tasarruf etmekle kalmaz, aynı zamanda hataları daha kolay izleyebilir ve iş arkadaşlarınızın (ve gelecekteki sizin) kodunuzu daha iyi anlamasını sağlarsınız.

🔥 Python Kariyerinizi Hemen Başlatın!

Hemen kursumuza kaydolun ve bu güçlü araçları kullanarak profesyonel Python geliştiricisi olma yolunda ilk adımı atın. Kursumuzdaki uygulamalı modüller, sizi sadece bir yazılımcı adayı değil, hazır bir profesyonel haline getirecek. Python Eğitimini Udemy platformunda bulabilirsiniz.

[ Python Eğitimi Sıfırdan İleri Seviye ]

Tıklayın ve Python Eğitimine Hemen Kaydolun!

Yorumlar

Bu blogdaki popüler yayınlar

Python random Modülü

Python print()

Yazılım Nedir?