Python - Argumen-Hanya-Kata Kunci

Halo, para murid tercinta! Selamat datang di atas perjalanan yang menarik kami ke dunia pemrograman Python. Hari ini, kita akan menjelajahi konsep yang mungkin terdengar agak menakutkan saat pertama kali, tetapi saya berjanji Anda akan menemukan hal ini sangat menarik dan sangat berguna. Kita membicarakan tentang Argumen-Hanya-Kata Kunci!

Python - Keyword-Only Arguments

Apa Itu Argumen-Hanya-Kata Kunci?

Bayangkan Anda memesan pizza. Anda tahu Anda ingin ukuran besar, tetapi Anda belum yakin tentang toppingnya. Apakah tidak akan baik jika Anda bisa saja mengatakan, "Saya ingin pizza besar" tanpa menentukan apapun lagi? Itulah jenisnya yang Argumen-Hanya-Kata Kunci lakukan di Python!

Argumen-Hanya-Kata Kunci adalah jenis khusus parameter fungsi yang hanya dapat dilewatkan melalui kata kunci, bukan melalui posisi. Mereka diintroduksi di Python 3 untuk memberikan programmer lebih kontrol atas bagaimana fungsi dipanggil dan untuk membuat pemanggilan fungsi lebih eksplisit dan kurang rentan kesalahan.

Mari kita pecahkan langkah demi langkah:

Argumen Fungsi Dasar

Sebelum kita melompat ke Argumen-Hanya-Kata Kunci, mari secara cepat mengulas bagaimana argumen fungsi reguler bekerja:

def sapa(nama, pesan):
print(f"{pesan}, {nama}!")

sapa("Alice", "Hello")  # Output: Hello, Alice!
sapa("Good morning", "Bob")  # Output: Bob, Good morning!

Dalam contoh ini, urutan argumen penting. Jika kita menukar mereka, output akan berubah dan mungkin tidak masuk akal.

Pengenalan Argumen-Hanya-Kata Kunci

Sekarang, mari lihat bagaimana Argumen-Hanya-Kata Kunci dapat membantu:

def sapa(*, nama, pesan):
print(f"{pesan}, {nama}!")

sapa(nama="Alice", pesan="Hello")  # Output: Hello, Alice!
sapa(pesan="Good morning", nama="Bob")  # Output: Good morning, Bob!

Notice the * before the parameters? Itulah simbol magis yang membuat semua argumen berikut menjadi hanya-kata kunci. Sekarang, kita harus menentukan nama parameter saat memanggil fungsi, tapi urutan tidak penting lagi!

Contoh Argumen-Hanya-Kata Kunci

Mari lihat contoh yang lebih praktis. Suppose kita menulis fungsi untuk menghitung luas persegi panjang:

def hitung_luas(*, panjang, lebar):
return panjang * lebar

# Ini bekerja:
luas = hitung_luas(panjang=10, lebar=5)
print(f"Luasnya adalah: {luas}")  # Output: Luasnya adalah: 50

# Ini juga bekerja:
luas = hitung_luas(lebar=5, panjang=10)
print(f"Luasnya adalah: {luas}")  # Output: Luasnya adalah: 50

# Tapi ini akan menghasilkan kesalahan:
# luas = hitung_luas(10, 5)  # TypeError: hitung_luas() takes 0 positional arguments but 2 were given

Dalam contoh ini, kita harus menentukan panjang dan lebar dengan nama. Ini membuat kode kita lebih dapat dibaca dan kurang rentan kesalahan, khususnya saat menghadapi fungsi yang memiliki banyak parameter.

Contoh: Menggunakan "sep" sebagai argumen non-kata kunci

Sekarang, mari lihat fungsi built-in Python yang menggunakan argumen reguler dan hanya-kata kunci: fungsi print().

print("Hello", "World", sep="-")  # Output: Hello-World

Di sini, "Hello" dan "World" adalah argumen posisi, sementara sep adalah argumen kata kunci. Tetapi sep bukan hanya-kata kunci; kita juga dapat menggunakannya sebagai argumen posisi:

print("Hello", "World", "-")  # Output: Hello-World

Namun, ini dapat menyebabkan kebingungan. Itulah mengapa Python memungkinkan kita untuk mendefinisikan fungsi sendiri dengan Argumen-Hanya-Kata Kunci, memastikan bahwa beberapa parameter harus selalu ditentukan dengan nama.

Menggunakan Argumen-Hanya-Kata Kunci dalam Metode Yang Didefinisikan Pengguna

Mari membuat contoh yang lebih kompleks untuk menunjukkan kekuatan Argumen-Hanya-Kata Kunci dalam metode yang didefinisikan pengguna:

def format_nama(*, first, last, middle="", title=""):
if middle:
full_name = f"{first} {middle} {last}"
else:
full_name = f"{first} {last}"

if title:
return f"{title} {full_name}"
else:
return full_name

# Mari coba kombinasi yang berbeda:
print(format_nama(first="John", last="Doe"))
# Output: John Doe

print(format_nama(first="Jane", last="Smith", title="Dr."))
# Output: Dr. Jane Smith

print(format_nama(first="Alice", middle="Marie", last="Johnson", title="Ms."))
# Output: Ms. Alice Marie Johnson

# Ini akan menghasilkan kesalahan:
# print(format_nama("Bob", "Brown"))  # TypeError: format_nama() takes 0 positional arguments but 2 were given

Dalam contoh ini, first dan last adalah argumen hanya-kata kunci yang diperlukan, sementara middle dan title adalah argumen hanya-kata kunci opsional dengan nilai default. Fungsi ini sangat fleksibel dan jelas dalam penggunaannya.

Ringkasan Metode Argumen-Hanya-Kata Kunci

Berikut adalah tabel yang ringkasan metode yang kita telah membahas:

Metode Deskripsi Contoh
sapa(*, nama, pesan) Fungsi sapa dasar dengan argumen hanya-kata kunci sapa(nama="Alice", pesan="Hello")
hitung_luas(*, panjang, lebar) Menghitung luas persegi panjang menggunakan argumen hanya-kata kunci hitung_luas(panjang=10, lebar=5)
format_nama(*, first, last, middle="", title="") Memformat nama dengan nama tengah opsional dan judul format_nama(first="John", last="Doe", title="Mr.")

Ingat, * dalam definisi fungsi adalah yang membuat argumen berikut menjadi hanya-kata kunci!

Kesimpulan

Argumen-Hanya-Kata Kunci adalah fitur yang kuat di Python yang dapat membuat kode Anda lebih dapat dibaca, kurang rentan kesalahan, dan lebih fleksibel. Mereka sangat berguna saat Anda membuat fungsi dengan banyak parameter atau saat urutan argumen mungkin membuat kesalahan.

Sebagai Anda melanjutkan perjalanan Python Anda, Anda akan menemukan banyak situasi di mana Argumen-Hanya-Kata Kunci dapat sangat membantu. Tetap latihan, tetap menjelajahi, dan yang paling penting, tetap bersenang-senang dengan Python!

Ingat, setiap programmer yang hebat dimulai sebagai pemula. Dengan kesabaran dan latihan, Anda akan menulis program Python yang kompleks sebelum Anda sadar. Selamat coding, masa depan master Python!

Credits: Image by storyset