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!

Python - Default Arguments

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?

  1. Mereka membuat kode Anda lebih fleksibel.
  2. Mereka mengurangi jumlah argumen yang Anda perlu sediakan.
  3. 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:

  1. Kita mendefinisikan fungsi greet dengan dua parameter: name dan greeting.
  2. greeting memiliki nilai default "Hello".
  3. Saat kita memanggil greet("Alice"), kita hanya menyediakan name. Fungsi menggunakan default "Hello" untuk ucapan.
  4. Saat kita memanggil greet("Bob", "Hi"), kita menyediakan kedua name dan greeting, 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:

  1. Fungsi calculate_total kita memiliki tiga parameter: items (wajib), tax_rate (default 0.08), dan discount (default 0).
  2. Pada panggilan pertama, kita hanya menyediakan items. Fungsi menggunakan default tax rate dan tanpa diskon.
  3. Pada panggilan kedua, kita menyediakan items dan tax rate khusus 0.10. Diskon tetap 0.
  4. 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