Keyfi argümanlar

Geliştiriciler için Orta Düzey Python

Jasmin Ludolf

Curriculum Manager

Tanımlı argümanların sınırlamaları

def average(values):
    """Bir değer dizisinde ortalamayı bulun ve iki ondalığa yuvarlayın."""

    average_value = sum(values) / len(values)
    rounded_average = round(average_value, 2)
    return rounded_average

# Altı argüman kullanma print(average(15, 29, 4, 13, 11, 8))
TypeError: average() takes 1 positional argument but 6 were given
Geliştiriciler için Orta Düzey Python

Keyfi konumsal argümanlar

  • Docstring'ler özel işlevlerin nasıl kullanılacağını açıklar

  • Keyfi argümanlar, işlevlerin her sayıda argümanı kabul etmesini sağlar

# Her sayıda konumsal, anahtarsız argümana izin verin
def average(*args):
    # İşlev kodu aynı kalır
  • Geleneksel adlandırma: *args

  • Beklenen sonuçları üretirken çeşitli kullanımlara izin verir!

Geliştiriciler için Orta Düzey Python

Keyfi konumsal argümanlar kullanma

# average'ı altı konumsal argümanla çağırma
print(average(15, 29, 4, 13, 11, 8))
13.33
Geliştiriciler için Orta Düzey Python

Args tek bir yinelenebilir oluşturur

  • *: Argümanları tek bir yinelenebilir (tuple) yapıya dönüştürür
# Birden çok listeyi birlikte hesaplama
print(average(*[15, 29], *[4, 13], *[11, 8]))
13.33
Geliştiriciler için Orta Düzey Python

Keyfi anahtar sözcüklü argümanlar

# Keyfi anahtar sözcüklü argümanları kullanın
def average(**kwargs):

average_value = sum(kwargs.values()) / len(kwargs.values()) rounded_average = round(average_value, 2) return rounded_average
  • Keyfi anahtar sözcüklü argümanlar: **kwargs

  • anahtar=değer

Geliştiriciler için Orta Düzey Python

Keyfi anahtar sözcüklü argümanlar kullanma

# average'ı altı anahtar sözcüklü argümanla çağırma
print(average(a=15, b=29, c=4, d=13, e=11, f=8))
13.33
# average'ı bir anahtar sözcüklü argümanla çağırma
print(average(**{"a":15, "b":29, "c":4, "d":13, "e":11, "f":8}))
13.33
  • Sözlükteki her anahtar-değer çifti bir anahtar argümana ve değere eşlenir!
Geliştiriciler için Orta Düzey Python

Kwarg'lar tek bir yinelenebilir oluşturur

# average'ı üç anahtar sözcüklü argüman grubu ile çağırma
print(average(**{"a":15, "b":29}, **{"c":4, "d":13}, **{"e":11, "f":8}))
13.33
Geliştiriciler için Orta Düzey Python

Hadi pratik yapalım!

Geliştiriciler için Orta Düzey Python

Preparing Video For Download...