Rumah > pembangunan bahagian belakang > Tutorial Python > Bagaimanakah *args dan kwargs Boleh Meningkatkan Fleksibiliti Argumen Fungsi dalam Python?

Bagaimanakah *args dan kwargs Boleh Meningkatkan Fleksibiliti Argumen Fungsi dalam Python?

Barbara Streisand
Lepaskan: 2024-12-19 13:53:14
asal
221 orang telah melayarinya

How Can *args and kwargs Enhance Function Argument Flexibility in Python?

Menggunakan args dan kwargs untuk Kepelbagaian Argumen Fungsi*

Dalam pengaturcaraan, ia boleh berguna untuk mengendalikan hujah secara fleksibel dalam fungsi. Di sinilah args dan *kwargs berperanan.

Pemahaman args dan kwargs*

  • args: (Argumen kedudukan) Mengambil nombor pembolehubah kedudukan argumen dalam bentuk tupel.
  • kwargs: (Argumen kata kunci) Mengambil bilangan pembolehubah argumen kata kunci dalam bentuk kamus.

Kebaikan Menggunakan args dan kwargs*

  • Pengendalian Hujah Boleh Diperluas: Anda boleh mentakrifkan fungsi yang boleh menerima sebarang nombor atau jenis hujah.
  • Hujah Wildcard: Hantar hujah arbitrari kepada fungsi dan padankannya secara dinamik.

Contoh Mudah

  • Hujah Kedudukan (*args):
def print_items(*args):
    for item in args:
        print(item)

print_items("apple", "banana", "cherry")
Salin selepas log masuk

Output:

apple
banana
cherry
Salin selepas log masuk
  • Argumen Kata Kunci (kwargs):**
def print_info(**kwargs):
    for key, value in kwargs.items():
        print(f"{key} = {value}")

print_info(name="John Doe", age=30)
Salin selepas log masuk

Output:

name = John Doe
age = 30
Salin selepas log masuk

Penggunaan Gabungan dengan Argumen Dinamakan

def print_student(name, **kwargs):
    print(f"Name: {name}")
    for key, value in kwargs.items():
        print(f"{key} = {value}")

print_student("Jane Smith", major="Engineering", GPA=3.8)
Salin selepas log masuk

Output:

Name: Jane Smith
major = Engineering
GPA = 3.8
Salin selepas log masuk

Penggunaan dalam Panggilan Fungsi

def sum_numbers(*args):
    total = 0
    for num in args:
        total += num

nums = [1, 2, 3, 4, 5]
result = sum_numbers(*nums)  # Unpack the list into positional arguments
Salin selepas log masuk

Dalam contoh ini, *nums mengembangkan senarai menjadi argumen kedudukan individu, membenarkan fungsi sum_numbers mengendalikannya sebagai bilangan argumen yang berubah-ubah.

Atas ialah kandungan terperinci Bagaimanakah *args dan kwargs Boleh Meningkatkan Fleksibiliti Argumen Fungsi dalam Python?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan