Manufaktur industri
Industri Internet of Things | bahan industri | Pemeliharaan dan Perbaikan Peralatan | Pemrograman industri |
home  MfgRobots >> Manufaktur industri >  >> Industrial programming >> Python

Menguasai Argumen Fungsi Python: Posisi, Kata Kunci, dan Parameter Default

Menguasai Argumen Fungsi Python

Temukan cara merancang fungsi yang menerima sejumlah argumen variabel dalam Python—menggunakan default, kata kunci, dan parameter sembarang untuk kode yang lebih bersih dan dapat disesuaikan.

Video: Python Function Arguments: Positional, Keywords and Default

Argumen

Dalam topik fungsi yang ditentukan pengguna, kami telah membahas mendefinisikan dan memanggil fungsi. Panggilan yang tidak cocok dengan tanda tangan yang diharapkan akan menghasilkan kesalahan. Contohnya:

def greet(name, msg): """Fungsi ini menyapa orang dengan pesan yang disediakan.""" print("Hello", name + ", " + msg) greet("Monica", "Good morning!")

Output

Hello Monica, Good morning!

Fungsi greet() menerima dua parameter. Memanggilnya dengan jumlah argumen yang benar berjalan lancar; jika tidak, interpreter memancarkan TypeError dengan pesan yang jelas.

>>> greet("Monica") # hanya satu argumen TypeError: greet() missing 1 required positional argument: 'msg'
>>> greet() # tidak ada argumen TypeError: greet() missing 2 required positional arguments: 'name' and 'msg'

Argumen Fungsi Variabel

Python menawarkan cara fleksibel untuk menerima sejumlah argumen yang variabel. Tiga pola umum dibahas di bawah ini.

Argumen Default Python

Parameter dapat diberikan nilai default menggunakan operator penugasan (=). Contoh berikut menunjukkan cara pesan opsional default ke “Good morning!”:

def greet(name, msg="Good morning!"): """ Fungsi ini menyapa orang dengan pesan yang disediakan. Jika pesan tidak disediakan, ia default ke "Good morning!". """ print("Hello", name + ", " + msg) greet("Kate") greet("Bruce", "How do you do?")

Output

Hello Kate, Good morning! Hello Bruce, How do you do?

Dalam definisi ini, name wajib, sementara msg opsional. Saat argumen default ada, semua parameter selanjutnya juga harus memiliki default; jika tidak, SyntaxError terjadi.

def greet(msg = "Good morning!", name): pass
SyntaxError: non-default argument follows default argument

Argumen Kata Kunci Python

Python memungkinkan panggilan untuk menentukan argumen berdasarkan nama, memungkinkan fleksibilitas urutan posisi. Fungsi greet() yang sama dapat dipanggil sebagai berikut:

# 2 argumen kata kunci greet(name = "Bruce", msg = "How do you do?") # 2 argumen kata kunci (di luar urutan) greet(msg = "How do you do?", name = "Bruce") # 1 posisi, 1 argumen kata kunci greet("Bruce", msg = "How do you do?")

Campuran argumen posisi dan kata kunci diperbolehkan hanya ketika semua argumen posisi mendahului argumen kata kunci; jika tidak, SyntaxError terjadi.

greet(name="Bruce","How do you do?")
SyntaxError: non-keyword arg after keyword arg

Argumen Sembarang Python

Jika jumlah argumen tidak diketahui pada saat desain, gunakan bintang (*) untuk menangkapnya sebagai tuple:

def greet(*names): """Menyapa setiap nama dalam tuple yang disediakan.""" for name in names: print("Hello", name) greet("Monica", "Luke", "Steve", "John")

Output

Hello Monica Hello Luke Hello Steve Hello John

Di dalam fungsi, names adalah tuple yang berisi semua argumen yang diteruskan, yang kemudian dapat diulang atau diproses sesuai kebutuhan.


Python

  1. Menguasai Tipe Data Python: Panduan Praktis
  2. Menguasai Operator Python: Panduan Komprehensif
  3. Menguasai Pernyataan Pass Python: Panduan Praktis
  4. Fungsi Lambda Python: Panduan Praktis untuk Fungsi Anonim
  5. Menguasai Kamus Python: Pembuatan, Manipulasi, dan Teknik Lanjutan
  6. Python Generators: Iterasi Efisien dan Kasus Penggunaan Lanjutan
  7. Penutupan (Closure) Python Dijelaskan: Cara Fungsi Bertingkat Mengambil Variabel
  8. Menguasai Decorator Python: Tingkatkan Fungsi dengan Teknik Ahli
  9. Menguasai Metode strip() Python: Panduan Lengkap & Contoh Praktis
  10. Menguasai Fungsi Lambda Python: Contoh Praktis & Praktik Terbaik