Python Keyword Arguments

Python Keyword Arguments

Python'da keyword arguments (anahtar kelime argümanları), bir fonksiyona argümanları parametre isimleriyle birlikte göndermeye olanak sağlar. Bu sayede, fonksiyon çağrılırken hangi değerin hangi parametreye ait olduğunu açıkça belirtmiş oluruz. Keyword arguments kullanmanın en büyük avantajı, parametrelerin sırasını önemsemeden fonksiyona değerler gönderebilmektir.

Temel Yapı

Keyword arguments, fonksiyon çağrılırken şu şekilde yazılır:

def fonksiyon_adi(parametre1, parametre2): # Fonksiyon işlemleri pass # Keyword arguments kullanarak fonksiyonu çağırma fonksiyon_adi(parametre1=deger1, parametre2=deger2)

Örnek: Keyword Arguments Kullanımı

def kisi_bilgileri(isim, yas, sehir): print(f"İsim: {isim}, Yaş: {yas}, Şehir: {sehir}") # Fonksiyonu keyword arguments kullanarak çağırabiliriz kisi_bilgileri(isim="Ahmet", yas=25, sehir="Ankara") # Çıktı: İsim: Ahmet, Yaş: 25, Şehir: Ankara # Parametrelerin sırasını değiştirebiliriz, sonuç aynı olur kisi_bilgileri(sehir="İstanbul", yas=30, isim="Ayşe") # Çıktı: İsim: Ayşe, Yaş: 30, Şehir: İstanbul

Varsayılan Parametrelerle Birlikte Kullanım

Keyword arguments, varsayılan parametrelerle birlikte kullanıldığında da oldukça faydalıdır. Varsayılan değer verilen bir parametre, keyword arguments ile geçildiğinde bu varsayılan değeri değiştirir.

def selamla(isim, mesaj="Merhaba" ): return f"{mesaj}, {isim}!" # 'mesaj' parametresi verilmediği için varsayılan değer kullanılacak print(selamla(isim="Ahmet")) # Çıktı: Merhaba, Ahmet! # 'mesaj' parametresi keyword arguments ile değiştirildi print(selamla(isim="Ayşe", mesaj="Selam")) # Çıktı: Selam, Ayşe!

**kwargs (Arbitrary Keyword Arguments)

Fonksiyonlar, belirli sayıda keyword argument yerine, değişken sayıda keyword argument alabilir. Bu durumda **kwargs kullanılır. **kwargs, fonksiyona birden fazla anahtar-değer çifti gönderilmesine olanak sağlar. kwargs, bir sözlük (dictionary) olarak fonksiyon içinde işlenir.

**kwargs ile Örnek:

def kisi_bilgileri(**kwargs): for anahtar, deger in kwargs.items(): print(f"{anahtar}: {deger}") # Fonksiyona istediğimiz kadar keyword arguments gönderebiliriz kisi_bilgileri(isim="Ahmet", yas=30, sehir="İstanbul", meslek="Mühendis")

Çıktı:

isim: Ahmet yas: 30 sehir: İstanbul meslek: Mühendis

Burada kwargs, bir sözlük gibi çalışır ve her anahtar-değer çifti döngüyle işlenebilir.

Keyword Arguments ve Pozisyonel Argümanlar

Pozisyonel argümanlar (yani sırasıyla verilen argümanlar) ile keyword arguments birlikte kullanılabilir, ancak pozisyonel argümanlar her zaman keyword arguments'tan önce gelmelidir. Aksi takdirde Python hata verecektir.

Doğru kullanım:

def kisi_bilgileri(isim, yas, sehir): print(f"İsim: {isim}, Yaş: {yas}, Şehir: {sehir}") # Pozisyonel ve keyword argümanları birlikte kullanma kisi_bilgileri("Ahmet", yas=25, sehir="Ankara")

Yanlış kullanım (hata verir):

kisi_bilgileri(isim="Ahmet", 25, sehir="Ankara") # SyntaxError: positional argument follows keyword argument

Özet:

  • Keyword arguments ile fonksiyon çağrılırken parametre isimleriyle birlikte değerler atanır, bu da parametrelerin sırasını önemsemeden çağrı yapmayı sağlar.
  • Keyword arguments, varsayılan parametrelerle birlikte kullanılabilir ve bu sayede varsayılan değeri değiştirebilirsiniz.
  • **kwargs , fonksiyonlara değişken sayıda keyword arguments göndermek için kullanılır ve bunlar sözlük olarak işlenir.


Yorum Ekle

Üzerine gel