Args ve Kwargs: Python'da İşlevselliği Artıran Güçlü Araçlar
Args ve Kwargs: Python'da İşlevselliği Artıran Güçlü Araçlar
Python’da, args ve kwargs terimleri, fonksiyonlara parametre iletmenin iki yaygın yöntemidir, kodunuzu daha okunabilir ve yönetilebilir hale getirir.
Python programlama dilinde, args ve kw args terimleri, fonksiyonlara parametre iletmenin iki yaygın yöntemidir. Bu yöntemler, fonksiyonları daha esnek ve kullanışlı hale getirerek kodunuzu daha okunabilir ve yönetilebilir hale getirir.
args (Sınırsız Pozisyonel Argümanlar)
args terimi, fonksiyona belirli bir sırayla belirsiz sayıda argüman iletmenizi sağlar. Bu argümanlar, fonksiyon çağrısında virgülle ayrılır ve fonksiyon tanımında bir yıldız işareti (*) ile temsil edilir.
def topla(a, b, *args): """ Bu fonksiyon, ilk iki argümana ek olarak isteğe bağlı sayıda argüman alabilir. """ toplam = a + b for arg in args: toplam += arg return toplam sonuc = topla(1, 2, 3, 4, 5) print(sonuc) # 15 çıktı verir.
Bu örnekte, topla fonksiyonu üç argüman alabilir: a, b ve *args. İlk iki argüman (a ve b) zorunludur, ancak * args isteğe bağlıdır. Fonksiyon çağrısında, topla fonksiyonuna beş argüman geçirilir: 1, 2, 3, 4 ve 5. Fonksiyon, ilk iki argümanı (a ve b) toplar ve ardından * args ile temsil edilen kalan argümanları bir döngü içinde toplar. Sonuç olarak, fonksiyon 15 değerini döndürür.
kw args (Anahtar Kelime Argümanları)
kw args terimi, fonksiyona anahtar kelime-değer çiftleri şeklinde argümanlar iletmenizi sağlar. Bu argümanlar, fonksiyon çağrısında anahtar kelime ve değerleri virgülle ayırarak belirtilir ve fonksiyon tanımında çift yıldız işareti (**) ile temsil edilir.
def selamla(isim, **kwargs): """ Bu fonksiyon, bir isim argümanı ve isteğe bağlı anahtar kelime-değer argümanları alabilir. """ mesaj = f"Merhaba {isim}" for anahtar, deger in kwargs.items(): mesaj += f", {anahtar} = {deger}" print(mesaj) selamla("Ali", meslek="Öğretmen", sehir="Ankara")
Bu örnekte, selamla fonksiyonu iki argüman alabilir: isim ve **kwargs. isim argümanı zorunludur, ancak **kw args isteğe bağlıdır. Fonksiyon çağrısında, selamla fonksiyonuna iki anahtar kelime-değer çifti geçirilir: meslek="Öğretmen" ve sehir="Ankara". Fonksiyon, isim argümanını mesajda kullanır ve ardından **kw args ile temsil edilen kalan anahtar kelime-değer çiftlerini bir döngü içinde işler. Sonuç olarak, fonksiyon "Merhaba Ali, meslek = Öğretmen, sehir = Ankara" mesajını yazdırır.
args ve kw args Birlikte Kullanma
args ve kwargs'ı birlikte kullanarak, fonksiyonlarınıza daha fazla esneklik katabilirsiniz. Örneğin, bir fonksiyon, belirli sayıda zorunlu argüman, isteğe bağlı pozisyonel argümanlar ve isteğe bağlı anahtar kelime-değer argümanları alabilir.
def hesapla(a, b, *args, **kwargs): """ Bu fonksiyon, iki zorunlu argüman, isteğe bağlı pozisyonel argümanlar ve isteğe bağlı anahtar kelime-değer argümanları alabilir. """ sonuc = a + b for arg in args: sonuc += arg for anahtar, deger in kwargs.items(): if anahtar == "islem": if deger == "carpma": sonuc *= deger elif deger == "bolme": sonuc /= deger else: raise ValueError(f"Geçersiz işlem: {deger}") return sonuc sonuc = hesapla(2, 3, 4, 5, is
Yorumunuz başarıyla alındı, inceleme ardından en kısa sürede yayına alınacaktır.