- Fonksiyon Tanımı
- Parametreler
- Dönüş Değeri (return)
- Parametre Varsayılan Değerler
- Esnek Parametreler (*args ve **kwargs)
- İç İşlevler (Nested Functions)
- Lambda İfadeleri
- Kapsam ve İsim Alanları (Scope and Namespace)
1. Fonksiyon Tanımı
Python’da fonksiyonlar “def” anahtar kelimesiyle tanımlanır. Fonksiyonlar genellikle şu yapıya sahiptir:
def fonksiyon_adi(parametreler):
# Fonksiyonun işlemleri
return değer
def
: Fonksiyon tanımlanırken kullanılan anahtar kelimedir.
fonksiyon_adi
: Tanımlanan fonksiyonun ismi, fonksiyonun çağrılmasında kullanılır.
parametreler
: Fonksiyonun alacağı giriş değerleridir. Bu kısım isteğe bağlı olabilir.
işlemler
: Fonksiyonun gerçekleştireceği işlemler bu kısımda yazılır.
return
: Fonksiyonun işlem sonucunu döndüren bir ifadedir. Bu kısım isteğe bağlıdır. Eğer belirtilmezse fonksiyon None değerini döndürür.
Örnek:
def toplama(a, b):
sonuc = a + b
return sonuc
Yukarıdaki örnekte, toplama adında bir fonksiyon tanımlanmıştır. Bu fonksiyon, a ve b adında iki parametre alır ve bu parametrelerin toplamını hesaplayarak sonucu döndürür.
Fonksiyonlar, belirli bir işlemi tekrar tekrar kullanılabilir hale getirir ve kodun daha okunabilir ve yönetilebilir olmasını sağlar.
2. Parametreler
Fonksiyonlara veri aktarmak için parametreler kullanılır. Parametreler, fonksiyonun içinde kullanılan değerlerdir. Bir fonksiyon tanımlanırken, fonksiyonun içinde kullanılacak parametreler belirtilir.
def fonksiyon(ad, yaş):
print("Ad:", ad)
print("Yaş:", yaş)
Yukarıdaki örnekte, “ad” ve “yaş” adında iki parametre alan “fonksiyon” adında bir fonksiyon tanımlanmıştır. Bu parametreler, fonksiyonun içinde kullanılarak ekrana yazdırılır.
3. Dönüş Değeri (return):
Python’da fonksiyonlar, belirli bir işlemi gerçekleştirir ve sonucunu döndürmek için “return” ifadesini kullanır. “return” ifadesi, fonksiyonun çalışması sırasında elde edilen sonucu belirtilen değer olarak döndürür ve bu değeri fonksiyonun çağrıldığı yere ileterek kullanılmasını sağlar.
return İfadesinin Kullanımı:
def toplama(a, b):
sonuc = a + b
return sonuc
Yukarıdaki örnekte, “return” ifadesi “toplama” fonksiyonunun sonucunu döndürür. “a” ve “b” parametrelerinin toplamı olan “sonuc” değişkeni, fonksiyon çağrıldığında geri döndürülür.
Dönüş Değerini Kullanma:
toplam = toplama(3, 5)
print("Toplam:", toplam)
Yukarıdaki örnekte, “toplama” fonksiyonu çağrılarak döndürülen sonuç, “toplam” adlı değişkene atanır ve ekrana yazdırılır. Bu sayede, fonksiyonun geri döndürdüğü değer başka işlemlerde kullanılabilir.
Birden Fazla Değer Döndürme:
Python’da bir fonksiyon, birden fazla değer döndürebilir. Bunun için, dönüş değeri olarak bir demet (tuple) kullanılır.
def carpma_bolme(a, b):
carpım = a * b
bolum = a / b
return carpım, bolum
Yukarıdaki örnekte, “carpma_bolme” fonksiyonu, hem çarpımı hem de bölümü döndürmektedir. Bu değerler, bir demet halinde geri döndürülür.
Dönüş Değeri Olmayan Fonksiyonlar:
Bazı durumlarda, bir fonksiyonun bir değer döndürmesi gerekmez. Bu durumda, “return” ifadesi kullanılmadan fonksiyonun çalışması tamamlanır.
def selamla(isim):
print("Merhaba,", isim)
selamla("Deniz")
Yukarıdaki örnekte, “selamla” fonksiyonu sadece ekrana bir selamlama mesajı yazdırır ve herhangi bir değer döndürmez.
Dönüş Değeri ve İşlevi:
Dönüş değeri, fonksiyonların başka işlemlerde kullanılmasını sağlar ve programların modüler olmasını sağlar. Fonksiyonlar, belirli bir işlemi gerçekleştirir ve bu işlemin sonucunu döndürerek, programın daha okunabilir, düzenli ve esnek olmasını sağlar.
4. Parametre Varsayılan Değerler (Default Arguments):
Python’da fonksiyonlara parametrelerin varsayılan değerleri atanabilir. Bu, bir parametrenin fonksiyon çağrılırken değer verilmediğinde kullanılacak bir değere sahip olması demektir. Parametrelerin varsayılan değerleri, fonksiyonun daha esnek ve kullanımı kolay olmasını sağlar.
Varsayılan Değer Atama:
def selamla(isim="Dünya"):
print("Merhaba,", isim)
selamla() # Merhaba, Dünya
selamla("Deniz") # Merhaba, Deniz
Yukarıdaki örnekte, “selamla” fonksiyonuna bir isim verilmezse, varsayılan olarak “Dünya” ismi kullanılır. Ancak, bir isim verilirse, bu isim kullanılır.
Birden Fazla Varsayılan Değer:
def selamla(isim="Dünya", zaman="günler"):
print("Merhaba,", isim, "iyi", zaman)
selamla() # Merhaba, Dünya iyi günler
selamla("Ahmet") # Merhaba, Ahmet iyi günler
selamla("Ayşe", "akşamlar") # Merhaba, Ayşe iyi akşam
Yukarıdaki örnekte, “selamla” fonksiyonuna iki parametre verilmiştir. Eğer herhangi bir parametre verilmezse, varsayılan değerler kullanılır. Ancak, parametreler belirtilirse, belirtilen değerler kullanılır.
Notlar:
- Parametrelerin varsayılan değerleri, fonksiyon tanımında sağlanır.
- Fonksiyon çağrılırken, varsayılan değere ihtiyaç duyulmuyorsa, parametre belirtilmeyebilir.
- Parametrelerin sıralaması önemlidir. Varsayılan değeri olan parametreler, son sıralarda olmalıdır.
