Rumah > pembangunan bahagian belakang > Tutorial Python > Bagaimanakah * dan Membongkar Argumen dalam Fungsi Python?

Bagaimanakah * dan Membongkar Argumen dalam Fungsi Python?

Mary-Kate Olsen
Lepaskan: 2025-01-04 00:07:40
asal
252 orang telah melayarinya

How Do * and  Unpack Arguments in Python Functions?

Membongkar Argumen dalam Python: Menavigasi dan *

Membongkar Urutan Tunggal: Peranan *

Asterisk tunggal ( *) memainkan peranan penting dalam membongkar urutan atau koleksi ke dalam hujah kedudukan. Pertimbangkan contoh berikut:

def add(a, b):
    return a + b

values = (1, 2)

s = add(*values)  # Equivalent to: s = add(1, 2)
Salin selepas log masuk

Dengan menggunakan operator *, kami membongkar tuple nilai dengan berkesan dan menghantar elemennya (1 dan 2) sebagai argumen kepada fungsi tambah. Ini amat berguna apabila bekerja dengan urutan panjang berubah-ubah.

Membongkar Kamus: Kuasa **

Asterisk berganda (**) mempunyai tujuan yang sama tetapi untuk kamus, membolehkan anda menyediakan nilai untuk argumen bernama. Ambil contoh ini:

values = { 'a': 1, 'b': 2 }
s = add(**values)  # Equivalent to: s = add(a=1, b=2)
Salin selepas log masuk

Di sini, operator ** membongkar kamus nilai, mengekstrak pasangan nilai kunci dan menggunakannya untuk menetapkan hujah kata kunci yang sepadan dalam panggilan fungsi tambah.

Sinergi dan *

Adalah diperhatikan bahawa kedua-dua pengendali boleh digabungkan dalam panggilan fungsi yang sama. Pertimbangkan senario berikut:

def sum(a, b, c, d):
    return a + b + c + d

values1 = (1, 2)
values2 = { 'c': 10, 'd': 15 }

s = add(*values1, **values2)  # Equivalent to: s = sum(1, 2, c=10, d=15)
Salin selepas log masuk

Panggilan ini secara berkesan membongkar nilai1 ke dalam dua argumen kedudukan pertama (a dan b) dan nilai2 ke dalam argumen kata kunci yang tinggal (c dan d).

Implikasi Pelaksanaan dan Prestasi:
Python melaksanakan tingkah laku ini melalui gabungan argumen fungsi penjanaan panggilan yang mengikat dan dinamik. Menggunakan dan * membolehkan pemanggilan fungsi yang fleksibel dengan argumen panjang berubah-ubah, yang membawa kepada kod yang ringkas dan serba boleh. Walau bagaimanapun, adalah penting untuk ambil perhatian bahawa penggunaan berlebihan pengendali ini berpotensi menjejaskan prestasi, terutamanya apabila digabungkan dengan panggilan fungsi frekuensi tinggi.

Atas ialah kandungan terperinci Bagaimanakah * dan Membongkar Argumen dalam Fungsi 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