Python - Argumen Default
Hai di sana, pemrogram Python yang berhasrat! Hari ini, kita akan menyelam ke atas dunia yang menakjubkan argumen default di Python. Sebagai guru sains komputer yang ramah di lingkungan kita, saya sangat gembira untuk membimbing anda melalui perjalanan ini. Jadi, rakam minuman kesukaan anda, dapatkan yang selesa, dan mari kita mulakan petualangan Python ini bersama-sama!
Apa Itu Argumen Default?
Sebelum kita melompat ke hal yang kacang-kacang, mari kita mulakan dengan dasar-dasar. Argumen default adalah fitur yang berguna di Python yang membolehkan anda untuk menentukan parameter fungsi dengan nilai pra-set. Nilai ini akan digunakan jika anda tidak memberikan nilai khusus saat memanggil fungsi.
Pikirkan argumen default sebagai rakit penyelamat. Mereka ada untuk menjatuhkan anda jika anda lupa untuk menentukan nilai, memastikan fungsi anda masih dapat berjalan dengan lancar. Ia seperti memiliki rakannya yang selalu membawa snack tambahan ke atas picknik – anda mungkin tidak selalu memerlukannya, tetapi ia adalah bagus untuk memiliki mereka jika perlu!
Mengapa Gunakan Argumen Default?
- Mereka membuat kod anda lebih fleksibel.
- Mereka mengurangkan jumlah argumen yang anda perlu berikan.
- Mereka membantu mempertahankan keserasian ke belakang ketika menambah parameter baru ke fungsi.
Sekarang, mari kita lihat bagaimana ini berfungsi dalam praktik!
Contoh Argumen Default
Mari kita mulakan dengan contoh yang sederhana. Bayangkan jika 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 argumen default kita. Jika kita tidak menentukan penyapaan, 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 memberikanname
. Fungsi menggunakan default "Hello" untuk penyapaan. - Saat kita memanggil
greet("Bob", "Hi")
, kita memberikan kedua-duaname
dangreeting
, jadi fungsi menggunakan "Hi" bukannya default.
Contoh: Memanggil Fungsi Tanpa Argumen Kata Kunci
Sekarang, mari kita lihat contoh yang sedikit lebih kompleks. Kita akan membuat fungsi untuk menghitung jumlah total harga item di atas rak 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 ini:
- Fungsi
calculate_total
kita memiliki tiga parameter:items
(diperlukan),tax_rate
(default 0.08), dandiscount
(default 0). - Pada panggilan pertama, kita hanya memberikan
items
. Fungsi menggunakan default tax rate dan tidak ada diskon. - Pada panggilan kedua, kita memberikan
items
dan tax rate khusus 0.10. Diskon tetap 0. - Pada panggilan ketiga, kita memberikan semua tiga argumen:
items
, tax rate, dan diskon 5.
Ingat, saat memanggil fungsi tanpa argumen kata kunci, urutan penting! Python menetapkan nilai kepada parameter dalam urutan mereka diberikan.
Objek yang Dapat Diubah sebagai Argumen Default
Sekarang, di sini tempat hal menjadi sedikit tricky. Menggunakan objek yang dapat diubah (seperti daftar atau kamus) sebagai argumen default dapat menyebabkan perilaku yang tidak diharapkan. Mari saya tunjukkan maksud saya:
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']
Kesampaian! Daftar terus tumbuh dengan setiap panggilan. 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 mudah dipakai:
Konsep | Deskripsi | Contoh |
---|---|---|
Argumen Default Dasar | Memberikan nilai default untuk parameter | def greet(name, greeting="Hello"): |
Banyak Argumen Default | Fungsi dapat memiliki banyak argumen default | def calculate_total(items, tax_rate=0.08, discount=0): |
Urutan Argumen | Argumen non-default harus datang sebelum 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 | Membolehkan memanggil fungsi dengan argumen bernama dalam urutan apa pun | calculate_total(items=[10, 20], discount=5) |
Dan itu adalah semua, orang-orang! Anda baru saja meningkatkan keterampilan Python anda dengan argumen default. Ingat, seperti setiap alat yang kuat, gunakan mereka dengan bijak. Mereka dapat membuat kod anda lebih fleksibel dan lebih mudah digunakan, tetapi hati-hati dengan default yang dapat diubah!
Terus latihan, tetap curious, dan happy coding! Sebelum anda tahu, anda akan menulis Python seperti profesional. Sampai jumpa lagi, ini adalah guru sains komputer yang ramah di lingkungan anda, menandatangani keluar!
Credits: Image by storyset