Rumah >pembangunan bahagian belakang >Tutorial Python >Bagaimanakah Asterisk Tunggal dan Berganda (*) Membongkar Argumen dalam Fungsi Python?
Membuka Hujah dalam Python dengan dan (Double Star/Asterisk)*
Dalam Python, dan * operator memainkan peranan penting dalam membongkar hujah semasa membuat panggilan fungsi.
Bintang Tunggal *:
Bintang tunggal (*) membongkar urutan atau koleksi ke dalam argumen kedudukan. Sebagai contoh, pertimbangkan fungsi:
def add(a, b): return a + b
Kod di bawah menggunakan * untuk membongkar nilai tuple:
values = (1, 2) s = add(*values)
Ini bersamaan dengan menulis:
s = add(1, 2)
Double Star **:
Double Star (**) melakukan operasi yang serupa untuk kamus, menyediakan nilai untuk hujah yang dinamakan. Pertimbangkan fungsi:
def sum(a, b, c, d): return a + b + c + d
Membuka pembungkusan nilai kamus2 menggunakan ** menghasilkan yang berikut:
values2 = { 'c': 10, 'd': 15 } s = add(**values2)
Ini bersamaan dengan:
s = sum(a=1, b=2, c=10, d=15)
Gabungan dan :*
Kedua-duanya dan * boleh digunakan serentak dalam panggilan fungsi yang sama. Contohnya:
values1 = (1, 2) values2 = { 'c': 10, 'd': 15 } s = add(*values1, **values2)
Ini bersamaan dengan:
s = sum(1, 2, c=10, d=15)
Pembukaan Parameter:
Selain membongkar hujah, dan * juga boleh digunakan untuk membongkar parameter dalam fungsi takrifan.
Contohnya:
def add(*values): # ... def get_a(**values): # ...
Prestasi Implikasi:
Implikasi prestasi penggunaan dan * secara amnya adalah minimum. Operasi pembongkaran melibatkan overhed minimum dan tidak menjejaskan kecekapan fungsi itu sendiri. Walau bagaimanapun, pembongkaran yang berlebihan boleh menjadikan kod kurang boleh dibaca dan diselenggara.
Atas ialah kandungan terperinci Bagaimanakah Asterisk Tunggal dan Berganda (*) Membongkar Argumen dalam Fungsi Python?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!