Python'da default parametreler (varsayılan parametreler), fonksiyonlara değer gönderilmediğinde varsayılan bir değerin kullanılmasını sağlar. Varsayılan parametreler sayesinde fonksiyonları daha esnek hale getirebiliriz. Eğer kullanıcı bir parametre göndermezse, bu parametreye önceden belirlediğimiz varsayılan değer atanır.
Temel Yapı
Varsayılan parametreler, fonksiyon tanımlanırken parametrelere değer atanarak belirlenir:
def fonksiyon_adi(parametre1=varsayılan_deger1, parametre2=varsayılan_deger2):
# Fonksiyon işlemleri
return sonuç
Örnek: Varsayılan Parametre Kullanımı
Aşağıdaki örnekte, mesaj
parametresine varsayılan bir değer atanmış:
def selamla(isim, mesaj="Merhaba"
):
return f"{mesaj}, {isim}!"
# Kullanıcı 'mesaj' parametresi vermezse varsayılan değer olan "Merhaba" kullanılacak
print(selamla("Ahmet")) # Çıktı: Merhaba, Ahmet!
print(selamla("Ayşe", "Selam")) # Çıktı: Selam, Ayşe!
Varsayılan Parametrelerin Önemi
- Kullanıcıya esneklik sağlar: Fonksiyon çağrılırken bazı parametrelerin verilmemesi durumunda varsayılan değerler kullanılarak fonksiyon çalışmaya devam eder.
- Fonksiyon çağrısını daha sade hale getirir: Örneğin, sıkça kullanılan bir değeri varsayılan yaparak tekrar tekrar aynı değeri yazmak zorunda kalmazsınız.
Birden Fazla Varsayılan Parametre Kullanımı
Bir fonksiyonda birden fazla parametre için varsayılan değer belirleyebilirsiniz. Varsayılan değeri olan parametreler her zaman varsayılan değeri olmayanlardan sonra tanımlanmalıdır.
def bilgileri_goster(isim, yas=18, sehir="İstanbul"
):
return f"İsim: {isim}, Yaş: {yas}, Şehir: {sehir}"
# 'yas' ve 'sehir' parametreleri için varsayılan değerler kullanılacak
print(bilgileri_goster("Ahmet")) # Çıktı: İsim: Ahmet, Yaş: 18, Şehir: İstanbul
# Sadece 'yas' için varsayılan değer kullanılacak
print(bilgileri_goster("Ayşe", 25)) # Çıktı: İsim: Ayşe, Yaş: 25, Şehir: İstanbul
# Hiçbir varsayılan değer kullanılmayacak
print(bilgileri_goster("Mehmet", 30, "Ankara")) # Çıktı: İsim: Mehmet, Yaş: 30, Şehir: Ankara
Dikkat Edilmesi Gerekenler
-
Varsayılan parametreler sıralaması: Varsayılan parametreler her zaman varsayılan değeri olmayan parametrelerden sonra gelmelidir. Aksi takdirde Python bir hata verir.
Yanlış kullanım (hata verir):
def ornek_fonksiyon(isim="Ahmet", yas): # HATA pass
-
Varsayılan parametreler mutable (değiştirilebilir) veri tipleriyle dikkatli kullanılmalıdır: Varsayılan olarak listeler, sözlükler gibi değiştirilebilir veri tipleri kullanıldığında dikkatli olunmalıdır. Çünkü bu veri tipleri fonksiyon çağrıları arasında paylaşılabilir.
Örnek (yanlış kullanım):
def ekle(eleman, liste=[]): liste.append(eleman) return liste print(ekle(1)) # Çıktı: [1] print(ekle(2)) # Çıktı: [1, 2] (Beklenen: [2])
Çözüm (varsayılan olarak
None
kullanmak):def ekle(eleman, liste=None ): if liste is None: liste = [] liste.append(eleman) return liste print(ekle(1)) # Çıktı: [1] print(ekle(2)) # Çıktı: [2]
Özet:
- Default parametreler, bir fonksiyona değer verilmediğinde varsayılan değerlerin kullanılmasını sağlar.
- Varsayılan parametreler, fonksiyonları daha esnek hale getirir.
- Varsayılan parametreler her zaman varsayılan olmayanlardan sonra tanımlanmalıdır.