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

Bagaimanakah `*args` dan `kwargs` Meningkatkan Fleksibiliti Fungsi dalam Python?

Mary-Kate Olsen
Lepaskan: 2024-11-12 08:08:01
asal
650 orang telah melayarinya

How do `*args` and `kwargs` Enhance Function Flexibility in Python?

Memahami args dan kwargs*

Parameter args dan *kwargs dalam pengaturcaraan Python benarkan fungsi menerima bilangan arbitrari argumen kedudukan dan argumen kata kunci, masing-masing. Parameter ini bertindak sebagai catch-all, mengumpul sebarang argumen tambahan yang dihantar kepada fungsi.

Sebagai contoh, pertimbangkan contoh berikut:

def foo(hello, *args):
    print(hello)

    for each in args:
        print(each)
Salin selepas log masuk

Di sini, fungsi foo menerima bilangan arbitrari argumen kedudukan selepas hujah pertama (hello) dan menyimpannya dalam tuple bernama args. Menjalankan fungsi ini dengan argumen berikut:

foo("LOVE", ["lol", "lololol"])
Salin selepas log masuk

akan mencetak output berikut:

LOVE
['lol', 'lololol']
Salin selepas log masuk

Begitu juga, **kwargs ialah parameter kamus yang menyimpan sebarang argumen kata kunci yang dihantar ke fungsi . Contohnya:

def test(**kwargs):
    for key, value in kwargs.items():
        print(key, ":", value)
Salin selepas log masuk

Apabila memanggil fungsi ini dengan hujah berikut:

test(name="Alice", age=20)
Salin selepas log masuk

outputnya ialah:

name : Alice
age : 20
Salin selepas log masuk

Secara berkesan, args dan *kwargs membenarkan fungsi mengendalikan hujah yang tidak dijangka atau berubah-ubah, menjadikannya boleh disesuaikan dengan senario yang berbeza dan kes penggunaan. Ia amat berguna apabila berurusan dengan objek, membenarkan penggantian kaedah sambil mengekalkan fleksibiliti untuk meluluskan hujah tersuai.

Atas ialah kandungan terperinci Bagaimanakah `*args` dan `kwargs` Meningkatkan Fleksibiliti 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