0Pricing
Python Academy · Ders

args ve kwargs

Değişken uzunluktaki konumsal ve anahtar sözcüklü bağımsız değişkenleri kabul edin.

args ve kwargs, CoddyKit'te ücretsiz bir Python Academy dersidir. Bu, 4 dersinin 3. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, Python Academy öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. Python Academy kursu toplamda 4 dersten oluşur.

Giriş

*args ve **kwargs, işlevlerin değişken sayıda konumsal ve anahtar sözcüklü argümanı kabul etmesini sağlar.

*args Nedir?

def f(*args), tüm fazladan konumsal argümanları args adlı bir demette toplar.
def f(*args):
    print(args)
f(1, 2, 3)  # (1, 2, 3)

*args Üzerinde Yineleme

for x in args: ..., args bir demet olduğu için çalışır. Ayrıca sum(args), max(args) vb. kullanabilirsiniz.
def total(*args):
    return sum(args)
print(total(1, 2, 3, 4, 5))

**kwargs Nedir?

def f(**kwargs), tüm fazladan anahtar sözcüklü argümanları kwargs adlı bir sözlükte toplar.
def f(**kwargs):
    print(kwargs)
f(name='Alice', age=30)

**kwargs Kullanımı

kwargs'a her sözlükte olduğu gibi erişin: for key, val in kwargs.items():
def display(**kwargs):
    for k, v in kwargs.items():
        print(f'{k}: {v}')
display(x=1, y=2)

Normal, *args ve **kwargs Birlikte Kullanımı

def f(a, b, *args, **kwargs): önce normal parametreler, ardından *args, sonra yalnızca anahtar sözcüklü parametreler ve son olarak **kwargs gelir.
def f(a, *args, **kwargs):
    print(a, args, kwargs)
f(1, 2, 3, x=4)

Argümanları İletme

def wrapper(*args, **kwargs): return real_func(*args, **kwargs), tüm argümanları sarılan işleve eksiksiz biçimde iletir.
def real(a, b, c=0): return a+b+c
def wrapper(*args, **kwargs): return real(*args, **kwargs)
print(wrapper(1, 2, c=3))

Çağrılarda * ile Açma

*iterable, herhangi bir yinelenebilir yapıyı konumsal argümanlar olarak açar. **mapping, bir sözlüğü anahtar sözcüklü argümanlar olarak açar.
def add(a, b, c): return a+b+c
args = [1, 2, 3]
print(add(*args))

Genişletilmiş Yinelenebilir Açma

first, *rest = [1,2,3,4], first=1 ve rest=[2,3,4] değerlerini verir. *head, last = lst, son öğeyi verir.
first, *rest = [1, 2, 3, 4]
print(first, rest)
*head, last = [1, 2, 3]
print(head, last)

*args/**kwargs için Tür İpuçları

def f(*args: int, **kwargs: str), her bir öğenin türüne açıklama ekler (kapsayıcının türüne değil).
def f(*args: int, **kwargs: str) -> None:
    print(args, kwargs)
f(1, 2, name='Alice')

Yaygın Kalıplar

print() işlevi de *args kullanır — print(*my_list), her öğeyi aralarında boşluk olacak şekilde yazdırır. Bu, Python'a özgü bir kullanımdır.
lst = [1, 2, 3]
print(*lst)  # 1 2 3

Hızlı Kontrol

*args, işlevin içinde hangi türü üretir?

Özet

*args, fazladan konumsal argümanlardan oluşan bir demettir. **kwargs, fazladan anahtar sözcüklü argümanlardan oluşan bir sözlüktür. Esnek arayüzler ve argümanları iletmek için bunları kullanın.

Devam Edin

Harika çalıştınız! İlerlemenizi sürdürmek için sonraki derse geçin.

Sıkça Sorulan Sorular

“args ve kwargs” dersi ücretsiz mi?

Evet — “args ve kwargs” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve Python Academy kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. Python Academy kursu toplamda 4 dersten oluşur.

“args ve kwargs” dersinde ne öğreneceğim?

Değişken uzunluktaki konumsal ve anahtar sözcüklü bağımsız değişkenleri kabul edin. Python Academy ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.

Python Academy öğrenmeye başlamak için deneyim gerekli mi?

Önceden deneyim gerekmez. CoddyKit'te Python Academy, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 4 dersinin 3. dersidir.

“args ve kwargs” dersi ne kadar sürer?

Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.

Bu Python Academy dersinde kod yazıp çalıştırabilir miyim?

Evet. Her Python Academy dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.

Bu kursun tüm dersleri

  1. İşlev Tanımlama ve Çağırma
  2. Varsayılan ve Anahtar Sözcük Bağımsız Değişkenleri
  3. args ve kwargs
  4. Döndürülen Değerler ve Kapsam
← Python Academy Sayfasına Dön