,, ,

Args ve Kwargs: Python'da İşlevselliği Artıran Güçlü Araçlar

Bilim-Teknoloji 07.05.2024 - 15:06, Güncelleme: 07.05.2024 - 15:06 5440 kez okundu.
 

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 kwargs 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. Python 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. kwargs (Anahtar Kelime Argümanları) kwargs 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. Python 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 **kwargs 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 **kwargs 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 kwargs 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. Python 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
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.

Python
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.

Python
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.

Python
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
Habere ifade bırak !
Habere ait etiket tanımlanmamış.
Okuyucu Yorumları (0)

Yorumunuz başarıyla alındı, inceleme ardından en kısa sürede yayına alınacaktır.

Yorum yazarak Topluluk Kuralları’nı kabul etmiş bulunuyor ve newsfindy.com sitesine yaptığınız yorumunuzla ilgili doğrudan veya dolaylı tüm sorumluluğu tek başınıza üstleniyorsunuz. Yazılan tüm yorumlardan site yönetimi hiçbir şekilde sorumlu tutulamaz.
Sitemizden en iyi şekilde faydalanabilmeniz için çerezler kullanılmaktadır, sitemizi kullanarak çerezleri kabul etmiş saylırsınız.