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
Barbara Streisandasal
2024-12-19 13:53:14148semak imbas

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")

Output:

apple
banana
cherry
  • 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)

Output:

name = John Doe
age = 30

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)

Output:

Name: Jane Smith
major = Engineering
GPA = 3.8

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

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:
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