Traffine I/O

Bahasa Indonesia

2023-03-10

args dan kwargs dalam Python

Apa itu *args dan **kwargs

Di Python,*args dan **kwargs adalah istilah yang umum digunakan untuk melewatkan jumlah argumen yang bervariasi ke dalam sebuah fungsi. Keduanya adalah sintaks yang khusus yang memungkinkan Anda untuk melewatkan jumlah argumen yang bervariasi ke dalam sebuah fungsi, tanpa harus secara eksplisit menentukannya di dalam definisi fungsi.

*args singkatannya adalah "argumen" dan digunakan untuk melewatkan jumlah argumen posisi yang bervariasi ke dalam sebuah fungsi. Di sisi lain, **kwargs singkatannya adalah "argumen kata kunci" dan digunakan untuk melewatkan jumlah argumen kata kunci yang bervariasi ke dalam sebuah fungsi.

Menggunakan *args dan **kwargs dapat sangat berguna ketika Anda ingin membuat fungsi yang fleksibel yang dapat menangani jumlah argumen atau argumen kata kunci yang berbeda.

Cara Menggunakan *args

Untuk menggunakan *args, cukup masukkan tanda asterisk sebelum nama parameter dalam definisi fungsi. Ini memberitahu Python bahwa argumen posisi tambahan harus dikumpulkan menjadi tuple dan dilewatkan ke dalam fungsi sebagai nilai parameter.

Berikut adalah contoh dari fungsi yang menerima *args:

python
def sum_numbers(*args):
    total = 0
    for number in args:
        total += number
    return total

Dalam contoh ini, fungsi sum_numbers menerima argumen apa saja dan menjumlahkannya. Misalnya, Anda dapat memanggil fungsi ini dengan jumlah argumen yang berbeda:

python
print(sum_numbers(1, 2, 3))  # Output: 6
print(sum_numbers(1, 2, 3, 4, 5))  # Output: 15
print(sum_numbers(2, 4, 6, 8, 10, 12))  # Output: 42

Seperti yang Anda lihat, *args memungkinkan fungsi untuk menangani jumlah argumen yang bervariasi tanpa harus menentukan setiap argumen secara eksplisit dalam definisi fungsi.

Cara Menggunakan **kwargs

Untuk menggunakan**kwargs, Anda perlu mendefinisikan parameter dengan dua tanda asterisk (**) pada tanda tangan fungsi. Parameter ini kemudian akan menerima kamus dari semua argumen kata kunci yang diteruskan ke fungsi.

Berikut contoh cara menggunakan **kwargs di Python:

python
def my_function(\*\*kwargs):
for key, value in kwargs.items():
print(f"{key}: {value}")

my_function(name="John", age=30, city="New York")

Pada contoh di atas, kita mendefinisikan fungsimy_function yang mengambil sejumlah argumen kata kunci menggunakan sintaks **kwargs. Fungsi kemudian melakukan loop pada kamus argumen kata kunci menggunakan metode .items(), mencetak setiap pasangan kunci-nilai.

Ketika kita memanggil fungsi dengan my_function(name="John", age=30, city="New York"), hasil keluarannya akan menjadi:

python
name: John
age: 30
city: New York

You can also pass a dictionary to a function that uses **kwargs by using the double asterisk (**) syntax to unpack the dictionary. Here's an example:

python
def my_function(**kwargs):
    for key, value in kwargs.items():
        print(f"{key}: {value}")

my_dict = {"name": "John", "age": 30, "city": "New York"}
my_function(**my_dict)

Pada contoh ini, kita mendefinisikan kamus my_dict dengan tiga pasangan kunci-nilai. Kemudian kita memanggil my_function dengan sintaks asterisk ganda (**) untuk membuka kamus dan meneruskan isinya sebagai argumen kata kunci ke fungsi.

Ketika kita menjalankan kode, kita akan mendapatkan hasil yang sama seperti sebelumnya:

python
name: John
age: 30
city: New York

Ryusei Kakujo

researchgatelinkedingithub

Focusing on data science for mobility

Bench Press 100kg!