Python - Argumen-Hanya Kata Kunci
Halo, pelajar-pelajar yang dihormati! Selamat datang ke atas perjalanan yang menarik kami ke atas dunia pengaturcaraan Python. Hari ini, kita akan menjelajahi konsep yang mungkin terdengar agak menakutkan pada mulanya, tetapi saya janji anda akan menemukannya yang menarik dan sangat berguna. Kita sedang membicarakan tentang Argumen-Hanya Kata Kunci!
Apa itu Argumen-Hanya Kata Kunci?
Bayangkan anda sedang memesan pizza. Anda tahu anda mahu ukuran besar, tetapi anda masih belum pasti tentang toppings lagi. Takkan baik jika anda boleh hanya katakan, "Saya mahu pizza besar" tanpa menentukan apa-apa lagi? Itulah jenis yang argumen-hanya kata kunci lakukan di atas Python!
Argumen-hanya kata kunci adalah jenis khusus parameter fungsi yang hanya boleh diberikan oleh kata kunci, bukannya oleh posisi. Mereka telah diperkenalkan di atas Python 3 untuk memberikan pengaturcara lebih kawalan atas cara fungsi dipanggil dan untuk membuat panggilan fungsi lebih jelas dan kurang berisiko kesalahan.
Mari kita pecahkan ia langkah demi langkah:
Argumen Fungsi Dasar
Sebelum kita kerna ke atas argumen-hanya kata kunci, mari kita ikut cepat mengulas cara argumen fungsi biasa berkerja:
def sapa(nama, pesan):
print(f"{pesan}, {nama}!")
sapa("Alice", "Helo") # Output: Helo, Alice!
sapa("Good morning", "Bob") # Output: Bob, Good morning!
Dalam contoh ini, susunan argumen penting. Jika kita menukar mereka, output akan berubah dan mungkin tidak memberi maksud.
Pengenalan Argumen-Hanya Kata Kunci
Sekarang, mari kita lihat bagaimana argumen-hanya kata kunci boleh membantu:
def sapa(*, nama, pesan):
print(f"{pesan}, {nama}!")
sapa(nama="Alice", pesan="Helo") # Output: Helo, Alice!
sapa(pesan="Good morning", nama="Bob") # Output: Good morning, Bob!
Perhatikan bintang *
sebelum parameter? Itulah simbol penyihir yang membuat semua argumen berikut menjadi hanya kata kunci. Sekarang, kita mesti menentukan nama parameter apabila memanggil fungsi, tetapi susunan tidak penting lagi!
Contoh Argumen-Hanya Kata Kunci
Mari kita lihat contoh yang lebih praktikal. Anggap kita menulis fungsi untuk mengira luas segiempat:
def kira_luas(*, panjang, lebar):
return panjang * lebar
# Ini berkerja:
luas = kira_luas(panjang=10, lebar=5)
print(f"Luas adalah: {luas}") # Output: Luas adalah: 50
# Ini juga berkerja:
luas = kira_luas(lebar=5, panjang=10)
print(f"Luas adalah: {luas}") # Output: Luas adalah: 50
# Tetapi ini akan memunculkan ralat:
# luas = kira_luas(10, 5) # TypeError: kira_luas() mengambil 0 argumen posisi tetapi 2 diberikan
Dalam contoh ini, kita mesti tentukan panjang
dan lebar
dengan nama. Ini membuat kod kita lebih dapat dibaca dan kurang berisiko kesalahan, khususnya apabila berurusan dengan fungsi yang memiliki banyak parameter.
Contoh: Menggunakan "sep" sebagai argumen bukan kata kunci
Sekarang, mari kita lihat fungsi terbina-dalam Python yang menggunakan kedua jenis argumen biasa dan hanya kata kunci: fungsi print()
.
print("Helo", "Dunia", sep="-") # Output: Helo-Dunia
Di sini, "Helo"
dan "Dunia"
adalah argumen posisi, sementara sep
adalah argumen kata kunci. Tetapi sep
bukan hanya kata kunci; kita juga boleh menggunakannya sebagai argumen posisi:
print("Helo", "Dunia", "-") # Output: Helo-Dunia
Namun, ini boleh membawa kepada kekeliruan. Itulah mengapa Python membenarkan kita untuk mendefinisikan fungsi sendiri dengan argumen-hanya kata kunci, memastikan bahwa beberapa parameter mesti selalu ditentukan dengan nama.
Menggunakan Argumen-Hanya Kata Kunci di atas Method yang Ditetapkan Pengguna
Mari kita cipta contoh yang lebih kompleks untuk menunjukkan kekuatan argumen-hanya kata kunci di atas method yang ditetapkan pengguna:
def format_nama(*, pertama, terakhir, tengah="", gelar=""):
jika tengah:
nama_penuh = f"{pertama} {tengah} {terakhir}"
else:
nama_penuh = f"{pertama} {terakhir}"
jika gelar:
return f"{gelar} {nama_penuh}"
else:
return nama_penuh
# Mari kita cuba kombinasi yang berbeza:
print(format_nama(pertama="John", terakhir="Doe"))
# Output: John Doe
print(format_nama(pertama="Jane", terakhir="Smith", gelar="Dr."))
# Output: Dr. Jane Smith
print(format_nama(pertama="Alice", tengah="Marie", terakhir="Johnson", gelar="Ms."))
# Output: Ms. Alice Marie Johnson
# Ini akan memunculkan ralat:
# print(format_nama("Bob", "Brown")) # TypeError: format_nama() mengambil 0 argumen posisi tetapi 2 diberikan
Dalam contoh ini, pertama
dan terakhir
adalah argumen kata kunci hanya yang diperlukan, sementara tengah
dan gelar
adalah argumen kata kunci hanya opsional dengan nilai lalai.
Ringkasan Method Argumen-Hanya Kata Kunci
Berikut adalah rakaman yang meng ringkaskan kaedah yang kita telah membincangkan:
Method | Description | Example |
---|---|---|
sapa(*, nama, pesan) |
Fungsi sapaan dasar dengan argumen-hanya kata kunci | sapa(nama="Alice", pesan="Helo") |
kira_luas(*, panjang, lebar) |
Mengira luas segiempat menggunakan argumen-hanya kata kunci | kira_luas(panjang=10, lebar=5) |
format_nama(*, pertama, terakhir, tengah="", gelar="") |
Memformat nama dengan nama tengah opsional dan gelar | format_nama(pertama="John", terakhir="Doe", gelar="Mr.") |
Ingat, bintang *
di atas definisi fungsi adalah apa yang membuat argumen berikut menjadi hanya kata kunci!
Kesimpulan
Argumen-hanya kata kunci adalah fitur yang kuat di atas Python yang boleh membuat kod anda lebih dapat dibaca, kurang berisiko kesalahan dan lebih fleksibel. Mereka adalah sangat berguna apabila anda membuat fungsi dengan banyak parameter atau apabila susunan argumen mungkin menjadi kacau.
Apabila anda teruskan perjalanan Python anda, anda akanjumpa banyak lagi situasi di mana argumen-hanya kata kunci boleh menjadi sangat membantu. Terus latihan, terus menjelajahi, dan yang paling penting, terus untuk bersenang-senang dengan Python!
Ingat, setiap pengaturcara yang hebat bermula sebagai pemula. Dengan kesabaran dan latihan, anda akan menulis program Python kompleks sebelum anda tahu. Selamat pengaturcaraan, master Python masa depan!
Credits: Image by storyset