← Python18 / 62
Fleksibilitas Parameter: *args dan **kwargs
Pernahkah kamu memperhatikan fungsi bawaan print() yang bisa menerima berapapun jumlah data? Bagaimana cara kerjanya? Jawabannya: *args dan **kwargs. Tanda bintang satu *args ibarat karung kosong yang menangkap semua nilai berlebih dan mengikatnya jadi Tuple. Sementara bintang dua **kwargs menampung argumen berpasangan (seperti nama='Budi') dan menyimpannya sebagai Dictionary. Fitur ini sangat berguna ketika kamu merancang fungsi yang belum tahu pasti berapa banyak data yang akan dikirimkan pengguna.
👀 Contoh dulu
def cetak_semua(*args, **kwargs):
print(args) # (1, 2)
print(kwargs) # {'nama': 'Budi'}
cetak_semua(1, 2, nama='Budi')Hasilnya: (1, 2) {'nama': 'Budi'}
💡 Sangat umum ditemukan pada pembungkusan fungsi (decorator).
📝 Sekarang giliranmu
Tuliskan parameter fungsi def process(*args, **kwargs):.
Preview