Python - Argumen Default
Halo para pemrogram Python yang mengaspirasi! Hari ini, kita akan memasuki dunia yang menakjubkan tentang argumen default di Python. Sebagai guru ilmu komputer yang ramah di lingkunganmu, saya sangat senang untuk membimbingmu melalui perjalanan ini. Jadi, ambil minuman favoritmu, rasakan kenyamananmu, dan mari kita mulai petualangan Python ini bersama-sama!
Apa Itu Argumen Default?
Sebelum kita melompat ke hal yang kacau, mari kita mulai dengan dasar-dasar. Argumen default adalah fitur yang keren di Python yang memungkinkan Anda untuk mendefinisikan parameter fungsi dengan nilai yang sudah ditetapkan. Nilai ini akan digunakan jika Anda tidak menyediakan nilai khusus saat memanggil fungsi.
Pikirkan argumen default sebagai rakit penyelam. Mereka ada untuk menjumpai Anda jika Anda lupa untuk menentukan nilai, memastikan fungsi Anda masih dapat berjalan mulus. Ini seperti memiliki teman yang selalu membawa snack tambahan ke piknik – Anda mungkin tidak selalu memerlukannya, tapi itu bagus untuk memiliki mereka jika perlu!
Mengapa Menggunakan Argumen Default?
- Mereka membuat kode Anda lebih fleksibel.
- Mereka mengurangi jumlah argumen yang Anda perlu sediakan.
- Mereka membantu menjaga kompatibilitas ke belakang saat menambahkan parameter baru ke fungsi.
Sekarang, mari kita lihat bagaimana ini bekerja dalam praktek!
Contoh Argumen Default
Mari kita mulai dengan contoh sederhana. Bayangkan kita membuat fungsi untuk menyapa orang:
def greet(name, greeting="Hello"):
return f"{greeting}, {name}!"
# Menggunakan fungsi
print(greet("Alice"))
print(greet("Bob", "Hi"))
Output:
Hello, Alice!
Hi, Bob!
Dalam contoh ini, greeting
adalah argumennya default. Jika kita tidak menentukan ucapan, fungsi akan menggunakan "Hello" secara default. Mari kita pecahkan:
- Kita mendefinisikan fungsi
greet
dengan dua parameter:name
dangreeting
. -
greeting
memiliki nilai default "Hello". - Saat kita memanggil
greet("Alice")
, kita hanya menyediakanname
. Fungsi menggunakan default "Hello" untuk ucapan. - Saat kita memanggil
greet("Bob", "Hi")
, kita menyediakan keduaname
dangreeting
, jadi fungsi menggunakan "Hi" sebagai ganti default.
Contoh: Memanggil Fungsi Tanpa Argumen Kata Kunci
Sekarang, mari kita lihat contoh yang sedikit lebih kompleks. Kita akan membuat fungsi untuk menghitung total biaya dari item di keranjang belanja:
def calculate_total(items, tax_rate=0.08, discount=0):
subtotal = sum(items)
total = subtotal * (1 + tax_rate) - discount
return round(total, 2)
# Menggunakan fungsi
cart1 = [10, 20, 30]
print(calculate_total(cart1))
print(calculate_total(cart1, 0.10))
print(calculate_total(cart1, 0.10, 5))
Output:
64.80
66.00
61.00
Mari kita pecahkan:
- Fungsi
calculate_total
kita memiliki tiga parameter:items
(wajib),tax_rate
(default 0.08), dandiscount
(default 0). - Pada panggilan pertama, kita hanya menyediakan
items
. Fungsi menggunakan default tax rate dan tanpa diskon. - Pada panggilan kedua, kita menyediakan
items
dan tax rate khusus 0.10. Diskon tetap 0. - Pada panggilan ketiga, kita menyediakan semua tiga argumen:
items
, tax rate, dan diskon 5.
Ingat, saat memanggil fungsi tanpa argumen kata kunci, urutan penting! Python menugaskan nilai ke parameter dalam urutan mereka disediakan.
Objek yang Dapat Diubah sebagai Argumen Default
Sekarang, ini tempat hal menjadi sedikit sulit. Menggunakan objek yang dapat diubah (seperti daftar atau kamus) sebagai argumen default dapat menyebabkan perilaku yang tidak diharapkan. Mari saya tampilkan apa yang saya maksud:
def add_item(item, shopping_list=[]):
shopping_list.append(item)
return shopping_list
print(add_item("apple"))
print(add_item("banana"))
print(add_item("cherry"))
Output:
['apple']
['apple', 'banana']
['apple', 'banana', 'cherry']
Keseruan! Daftar terus bertambah setiap kali dipanggil. Ini terjadi karena daftar default hanya dibuat sekali saat fungsi didefinisikan, bukan setiap kali fungsi dipanggil.
Untuk menghindari ini, kita dapat menggunakan None
sebagai default dan membuat daftar baru di dalam fungsi:
def add_item(item, shopping_list=None):
if shopping_list is None:
shopping_list = []
shopping_list.append(item)
return shopping_list
print(add_item("apple"))
print(add_item("banana"))
print(add_item("cherry"))
Output:
['apple']
['banana']
['cherry']
Lebih baik! Sekarang setiap panggilan membuat daftar baru seperti yang diharapkan.
Ringkasan Argumen Default Python
Mari kita ringkas apa yang kita telah pelajari dalam tabel yang praktis:
Konsep | Deskripsi | Contoh |
---|---|---|
Argumen Default Dasar | Menyediakan nilai default untuk parameter | def greet(name, greeting="Hello"): |
Beberapa Argumen Default | Fungsi dapat memiliki beberapa argumen default | def calculate_total(items, tax_rate=0.08, discount=0): |
Urutan Argumen | Argumen non-default harus mendahului argumen default dalam definisi fungsi | def func(required, optional=default): |
Argumen Default yang Dapat Diubah | Hindari menggunakan objek yang dapat diubah sebagai argumen default | Gunakan None sebagai default dan buat objek di dalam fungsi |
Argumen Kata Kunci | Memungkinkan memanggil fungsi dengan argumen bernama dalam urutan apa pun | calculate_total(items=[10, 20], discount=5) |
Dan itu adalah semua, teman-teman! Anda baru saja meningkatkan keterampilan Python Anda dengan argumen default. Ingat, seperti setiap alat yang kuat, gunakan mereka dengan bijak. Mereka dapat membuat kode Anda lebih fleksibel dan lebih mudah digunakan, tetapi hati-hati dengan default yang dapat diubah!
Terus latihan, tetap curious, dan happy coding! Sebelum Anda sadari, Anda sudah menulis Python seperti pro. Sampai jumpa lagi, ini adalah guru ilmu komputer ramah lingkungan Anda, menandatangani keluar!
Credits: Image by storyset