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
147 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!

sumber:php.cn
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