Fonksiyonlar, herhangi bir programlama dilinin temel yapı taşlarıdır ve Python da bir istisna değildir. Kodları yeniden kullanılabilir, yönetilebilir parçalara ayırmanıza, okunabilirliği, sürdürülebilirliği ve verimliliği artırmanıza olanak tanırlar. Bu öğretici, Python fonksiyonlarının temel kavramlarını size adım adım açıklayacaktır.
İçerik Tablosu
- Python Fonksiyonu Nedir?
- Python Fonksiyonlarını Tanımlama
- Fonksiyon Örnekleri
- Fonksiyonları Çağırma
return
İfadesi- Değişken Kapsamı ve Ömrü
- Fonksiyon Türleri
Python Fonksiyonu Nedir?
Bir Python fonksiyonu, belirli bir görevi gerçekleştirmek için tasarlanmış, kendi içinde bağımsız bir kod bloğudur. Mantığı kapsüllemenin bir yoludur, programlarınızı daha modüler ve anlaşılması daha kolay hale getirir. Fonksiyonlar kodun yeniden kullanılabilirliğini artırır; aynı kodu birden çok kez yazmak yerine, bir kez yazarsınız ve gerektiğinde çağırırsınız.
Python Fonksiyonlarını Tanımlama
def
anahtar kelimesini, ardından fonksiyon adını, parantezleri ()
ve iki nokta üst üste :
kullanarak bir fonksiyon tanımlarsınız. Altına girintili olarak yazılan fonksiyon gövdesi, yürütülecek kodu içerir. Parametreler (girdi değerleri) parantezlerin içine belirtilir.
def selamla(isim):
"""Bu fonksiyon, parametre olarak verilen kişiyi selamlar."""
print(f"Merhaba, {isim}!")
def topla(x, y):
"""Bu fonksiyon iki sayıyı toplar ve toplamı döndürür."""
return x + y
Anahtar unsurlar:
def
: Fonksiyon tanımını gösteren anahtar kelime.- Fonksiyon adı: Python’ın adlandırma kurallarına (küçük harflerle ve alt çizgilerle) uygun, açıklayıcı bir ad.
- Parametreler: Girdi değerlerini alan parantez içindeki değişkenler.
- Docstring: Fonksiyonun amacını açıklayan üçlü tırnak içine alınmış bir dize (
"""Docstring buraya gelir"""
). Okunabilirlik için önemlidir. - Fonksiyon gövdesi: Girintili kod bloğu.
return
ifadesi (isteğe bağlı): Fonksiyonun döndürdüğü değeri belirtir.
Fonksiyon Örnekleri
İşte fonksiyon tanımlama ve kullanımının farklı yönlerini gösteren birkaç örnek:
def alan_hesapla(uzunluk, genişlik):
"""Bir dikdörtgenin alanını hesaplar."""
return uzunluk * genişlik
alan = alan_hesapla(5, 10) # Fonksiyonu çağırma
print(f"Alan: {alan}") # Çıktı: Alan: 50
def faktoriyel(n):
"""Negatif olmayan bir tam sayının faktöriyelini hesaplar."""
if n == 0:
return 1
else:
return n * faktoriyel(n-1) #Özyinelemeli Fonksiyon
print(faktoriyel(5)) # Çıktı: 120
Fonksiyonları Çağırma
Bir fonksiyonu kullanmak için, adını parantezlerle birlikte yazarak ve gerekli argümanları (parametreler için değerler) sağlayarak çağırırsınız.
selamla("Ayşe") # Çıktı: Merhaba, Ayşe!
toplam_sonuc = topla(5, 3)
print(toplam_sonuc) # Çıktı: 8
return
İfadesi
return
ifadesi, bir fonksiyonun çağırana geri gönderdiği değeri belirtir. Eğer atlanırsa, fonksiyon örtük olarak None
döndürür.
def donmeyen():
print("Bu fonksiyon bir değer döndürmez.")
def donen():
return 42
print(donmeyen()) # Çıktı: Bu fonksiyon bir değer döndürmez. None
print(donen()) # Çıktı: 42
Değişken Kapsamı ve Ömrü
Bir fonksiyon içinde tanımlanan değişkenlerin yerel kapsamı vardır—sadece o fonksiyon içinde erişilebilirler. Fonksiyonların dışında tanımlanan değişkenlerin küresel kapsamı vardır—program boyunca erişilebilirler. Bir değişkenin ömrü, bellekte var olduğu süreyi ifade eder; yerel değişkenler yalnızca fonksiyon yürütüldüğü sürece var olurlar.
Fonksiyon Türleri
Python çeşitli fonksiyon türlerini destekler:
- Yerleşik fonksiyonlar:
print()
,len()
,input()
gibi önceden tanımlanmış fonksiyonlar. - Kullanıcı tanımlı fonksiyonlar: Programcılar tarafından oluşturulan fonksiyonlar.
- Özyinelemeli fonksiyonlar: Kendilerini çağıran fonksiyonlar (yukarıdaki
faktoriyel
örneği gibi). - Lambda fonksiyonları (anonim fonksiyonlar):
lambda
anahtar kelimesi kullanılarak tanımlanan, genellikle kısa işlemler için kullanılan küçük, isimsiz fonksiyonlar.
Bu öğretici, Python fonksiyonlarına ilişkin temel bir anlayış sağlar. Varsayılan argümanlar, anahtar kelime argümanları, değişken uzunluklu argümanlar (*args
ve **kwargs
) ve dekoratörler gibi gelişmiş konuların daha ayrıntılı incelenmesi, Python programlama becerilerinizi önemli ölçüde geliştirecektir.