0Pricing
Python Academy · Pelajaran

args dan kwargs

Terima argumen posisional dan kata kunci dengan panjang yang bervariasi.

args dan kwargs adalah pelajaran Python Academy gratis di CoddyKit. Ini adalah pelajaran 3 dari 4. Kamu bisa membaca pelajaran lengkapnya di bawah secara gratis — lalu praktikkan langsung di browser dengan editor kode bawaan dan tutor AI 24/7. Ini adalah bagian dari jalur belajar Python Academy, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus Python Academy mencakup 4 pelajaran total.

Pendahuluan

*args dan **kwargs memungkinkan fungsi menerima jumlah argumen posisi dan kata kunci yang berubah-ubah.

Apa itu *args?

def f(*args) mengumpulkan semua argumen posisi tambahan ke dalam tuple bernama args.
def f(*args):
    print(args)
f(1, 2, 3)  # (1, 2, 3)

Melakukan Iterasi pada *args

for x in args: ... dapat digunakan karena args adalah tuple. Anda juga dapat menggunakan sum(args), max(args), dan sebagainya.
def total(*args):
    return sum(args)
print(total(1, 2, 3, 4, 5))

Apa itu **kwargs?

def f(**kwargs) mengumpulkan semua argumen kata kunci tambahan ke dalam dict bernama kwargs.
def f(**kwargs):
    print(kwargs)
f(name='Alice', age=30)

Menggunakan **kwargs

Akses kwargs seperti dict apa pun: for key, val in kwargs.items():
def display(**kwargs):
    for k, v in kwargs.items():
        print(f'{k}: {v}')
display(x=1, y=2)

Menggabungkan Parameter Biasa, *args, dan **kwargs

def f(a, b, *args, **kwargs): parameter biasa berada di awal, kemudian *args, lalu parameter hanya kata kunci, dan terakhir **kwargs.
def f(a, *args, **kwargs):
    print(a, args, kwargs)
f(1, 2, 3, x=4)

Meneruskan Argumen

def wrapper(*args, **kwargs): return real_func(*args, **kwargs) meneruskan semua argumen dengan sempurna ke fungsi yang dibungkus.
def real(a, b, c=0): return a+b+c
def wrapper(*args, **kwargs): return real(*args, **kwargs)
print(wrapper(1, 2, c=3))

Pembongkaran dengan * dalam Pemanggilan

*iterable membongkar iterable apa pun sebagai argumen posisi. **mapping membongkar dict sebagai argumen kata kunci.
def add(a, b, c): return a+b+c
args = [1, 2, 3]
print(add(*args))

Pembongkaran Iterable yang Diperluas

first, *rest = [1,2,3,4] menghasilkan first=1 dan rest=[2,3,4]. *head, last = lst menghasilkan elemen terakhir.
first, *rest = [1, 2, 3, 4]
print(first, rest)
*head, last = [1, 2, 3]
print(head, last)

Petunjuk Tipe untuk *args/**kwargs

def f(*args: int, **kwargs: str) memberi anotasi pada tipe setiap item secara individual, bukan pada wadahnya.
def f(*args: int, **kwargs: str) -> None:
    print(args, kwargs)
f(1, 2, name='Alice')

Pola Umum

print() sendiri menggunakan *args — print(*my_list) mencetak setiap elemen dengan pemisah spasi. Ini sangat khas Python.
lst = [1, 2, 3]
print(*lst)  # 1 2 3

Pemeriksaan Singkat

Tipe apa yang dihasilkan *args di dalam fungsi?

Rangkuman

*args adalah tuple berisi argumen posisi tambahan. **kwargs adalah dict berisi argumen kata kunci tambahan. Gunakan keduanya untuk antarmuka pemrograman aplikasi yang fleksibel dan untuk meneruskan argumen.

Lanjutkan

Kerja bagus! Lanjutkan ke pelajaran berikutnya untuk terus maju.

Pertanyaan yang Sering Diajukan

Apakah pelajaran “args dan kwargs” gratis?

Ya — teks lengkap “args dan kwargs” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus Python Academy, upgrade ke CoddyKit PRO. Kursus Python Academy mencakup 4 pelajaran total.

Apa yang akan aku pelajari di “args dan kwargs”?

Terima argumen posisional dan kata kunci dengan panjang yang bervariasi. Kamu berlatih Python Academy dengan kode praktik yang langsung kamu jalankan di browser, dan tutor AI 24/7 menjawab pertanyaanmu saat kamu mengerjakan pelajaran ini.

Apakah aku perlu pengalaman untuk memulai Python Academy?

Tidak diperlukan pengalaman sebelumnya. Python Academy di CoddyKit dirancang untuk pemula hingga pelajar tingkat lanjut, jadi kamu bisa memulai di sini atau dari awal dan belajar sesuai kecepatan kamu sendiri. Ini adalah pelajaran 3 dari 4.

Berapa lama pelajaran “args dan kwargs” memakan waktu?

Sebagian besar pelajaran CoddyKit memakan waktu sekitar 5–10 menit. Setiap pelajaran ringkas dan interaktif, jadi kamu membuat kemajuan stabil dan melanjutkan dari tempat kamu tinggalkan di web dan aplikasi.

Bisakah aku menulis dan menjalankan kode dalam pelajaran Python Academy ini?

Ya. Setiap pelajaran Python Academy menyertakan editor kode bawaan, jadi kamu menulis dan menjalankan kode nyata langsung di browser dan mendapatkan umpan balik AI instan — tidak diperlukan penyiapan lokal.

Semua pelajaran dalam kursus ini

  1. Mendefinisikan dan Memanggil Fungsi
  2. Argumen Default dan Kata Kunci
  3. args dan kwargs
  4. Nilai Return dan Lingkup
← Kembali ke Python Academy