Python memperbolehkan untuk memiliki fungsi dengan berbagai macam argumen. Menggunakan *args sebagai sebuah parameter fungsi memungkinkan kita untuk melewatkan sejumlah argumen yang berubah-ubah pada fungsi tersebut. Argumen-argumen dapat diakses sebagai tuple args di dalam fungsi.
def fungsi(named_arg, *args):
print(named_arg)
print(args)
fungsi(1,2,3,4,5)
=====>
1
(2, 3, 4, 5)
=====>
Parameter *args harus diletakkan setelah named parameter. Named parameter dapat dibuat opsional dengan memberikan nilai default. Parameter *args juga harus diletakkan sebelum parameter yang memiliki nilai default.
def function(x, y, makanan="nasi"):
print(makanan)
function(1, 2)
function(3, 4, "telur")
=====>
nasi
telur
=====>
**kwargs memungkinkan kita untuk menangani named argument yang belum di definisikan sebelumya. Argumen keyword mengembalikan sebuah dictionary dimana key adalah nama argumen dan nilai nya adalah nilai argumen.
def fungsi(x, y=7, *args, **kwargs):
print(kwargs)
fungsi(2,3,4,5,6,a=7,b=8)
=====>
{'a': 7, 'b': 8}
=====>
a dan b adalah nama argumen yang kita lewatkan ke fungsi. Argumen yang dikembalikan oleh **kwargs tidak termasuk di dalam *args.
LANJUTKAN BACA MATERI LENGKAP