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

Bagaimanakah *args dan kwargs Boleh Meningkatkan Fleksibiliti Fungsi Python?

Linda Hamilton
Lepaskan: 2024-12-18 02:21:14
asal
601 orang telah melayarinya

How Can *args and kwargs Enhance Python Function Flexibility?

Memahami Kegunaan args dan kwargs dalam Python*

Sambil biasa dengan takrifan args dan *kwargs sebagai senarai hujah kedudukan dan kamus hujah kata kunci, masing-masing, seseorang mungkin tertanya-tanya tentang aplikasi praktikal mereka dalam pengaturcaraan.

*args amat berguna apabila fungsi memerlukan bilangan hujah yang sewenang-wenangnya. Contohnya, fungsi yang mencetak senarai item boleh ditakrifkan seperti berikut:

def print_items(*args):
    for count, item in enumerate(args):
        print(f'{count}. {item}')
Salin selepas log masuk

Fungsi ini boleh mengendalikan sebarang bilangan hujah yang dihantar kepadanya, seperti ditunjukkan di bawah:

print_items('apple', 'banana', 'cabbage')
# 0. apple
# 1. banana
# 2. cabbage
Salin selepas log masuk

**kwargs, sebaliknya, membenarkan untuk menghantar hujah kata kunci yang tidak ditakrifkan secara eksplisit dalam definisi fungsi. Pertimbangkan fungsi berikut:

def print_info(**kwargs):
    for key, value in kwargs.items():
        print(f'{key} = {value}')
Salin selepas log masuk

Fungsi ini boleh mencetak pasangan kata kunci dan nilai yang diperuntukkan, seperti yang ditunjukkan di bawah:

print_info(apple='fruit', cabbage='vegetable')
# apple = fruit
# cabbage = vegetable
Salin selepas log masuk

Kedua-dua args dan kwarg boleh digunakan bersama argumen bernama dalam definisi fungsi. Walau bagaimanapun, args mesti mendahului kwargs. Selain itu, args dan *kwargs juga boleh digunakan semasa panggilan fungsi untuk membongkar senarai atau kamus ke dalam argumen.

Sebagai contoh, fungsi yang menjangkakan tiga argumen kedudukan boleh dipanggil menggunakan senarai item seperti berikut:

def print_three(a, b, c):
    print(f'a = {a}, b = {b}, c = {c}')

my_list = ['aardvark', 'baboon', 'cat']
print_three(*my_list)
# a = aardvark, b = baboon, c = cat
Salin selepas log masuk

Fleksibiliti ini menjadikan args dan *kwargs alat yang tidak ternilai dalam Python untuk mencipta fungsi yang serba boleh dan boleh disesuaikan.

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