Rumah > pembangunan bahagian belakang > Tutorial Python > Bagaimanakah pengendali asterisk (*) berfungsi dalam definisi dan panggilan fungsi Python?

Bagaimanakah pengendali asterisk (*) berfungsi dalam definisi dan panggilan fungsi Python?

DDD
Lepaskan: 2024-11-09 03:49:02
asal
829 orang telah melayarinya

How does the asterisk (*) operator work in Python function definitions and calls?

Apakah Kepentingan Asterisk (*) dalam Definisi Fungsi Python?

Dalam Python, pengendali asterisk (*) memainkan peranan penting dalam mentakrifkan fungsi.

Fungsi Definisi

Apabila digunakan dalam takrifan fungsi, asterisk mempunyai dua bentuk:

  • *pengecam menandakan tuple yang mengumpul sebarang lebihan hujah kedudukan tidak secara eksplisit ditakrifkan dalam fungsi tandatangan.
  • **pengecam mewakili kamus yang mengagregatkan sebarang hujah kata kunci yang berlebihan.

Contoh

Pertimbangkan definisi fungsi berikut:

def get(self, *a, **kw)
Salin selepas log masuk
  • Asterisk () selepas parameter a* mengumpul sebarang argumen kedudukan yang tinggal ke dalam tuple.
  • Asterisk berganda (*) selepas parameter kw* mengumpulkan sebarang argumen kata kunci yang tinggal ke dalam kamus.

Fungsi Panggilan

Apabila memanggil fungsi dengan argumen berlebihan, ia boleh dihantar menggunakan sintaks asterisk:

Argumen Kedudukan

foo("testa", "testb", "testc", "excess", "another_excess")
Salin selepas log masuk

Dalam contoh ini, lebihan argumen kedudukan ("berlebihan" dan "lain_lebihan") dimasukkan ke dalam tuple.

Argumen Kata Kunci

foo(a="testa", d="excess", c="testc", b="testb", k="another_excess")
Salin selepas log masuk

Argumen kata kunci yang berlebihan ("d" dan "k") dikumpulkan ke dalam kamus.

Membuka Hujah

Anda juga boleh membongkar kamus atau tupel ke dalam argumen fungsi menggunakan sintaks asterisk:

Membuka Kamus

argdict = dict(a="testa", b="testb", c="testc", excessarg="string")
foo(**argdict)
Salin selepas log masuk

Membuka Tuple

argtuple = ("testa", "testb", "testc", "excess")
foo(*argtuple)
Salin selepas log masuk

Kesimpulan

Pengendali asterisk (*) menyediakan cara yang mudah untuk mengendalikan lebihan hujah dalam definisi dan panggilan fungsi Python, membolehkan fleksibiliti dan kebolehbacaan kod.

Atas ialah kandungan terperinci Bagaimanakah pengendali asterisk (*) berfungsi dalam definisi dan panggilan 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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan