Rumah > pembangunan bahagian belakang > Tutorial Python > Apakah yang dilakukan oleh Asterisk (*) dalam Fungsi Python?

Apakah yang dilakukan oleh Asterisk (*) dalam Fungsi Python?

Patricia Arquette
Lepaskan: 2024-11-26 10:04:08
asal
651 orang telah melayarinya

What Does the Asterisk (*) Do in Python Functions?

Apakah Kepentingan Asterisk (*) dalam Python?

Asterisk (*) mempunyai tujuan penting dalam Python, setanding kepada penggunaannya dalam C. Dalam Python, ia berfungsi berbilang peranan dalam definisi fungsi dan panggilan.

Definisi Fungsi dengan Argumen Asterisk:

Dalam definisi fungsi, sintaks *pengecam memperkenalkan parameter yang mengumpulkan sebarang argumen kedudukan yang tinggal ke dalam tuple. Jika tiada hujah berlebihan disediakan, ia lalai kepada tupel kosong. Takrif fungsi berikut menunjukkan konsep ini:

def get(*a, **kw)
Salin selepas log masuk

Di sini, a mengumpul sebarang hujah kedudukan tambahan, manakala kw mengumpulkan sebarang hujah kata kunci yang berlebihan ke dalam kamus.

Panggilan Fungsi dengan Asterisk Hujah:

Apabila memanggil fungsi, asterisk boleh digunakan untuk membongkar hujah yang disimpan dalam tupel atau kamus. Contohnya:

Argumen Kedudukan:

def foo(a, b, c, *args):
    print(a, b, c, args)

args_tuple = ("testa", "testb", "testc", "excess")
foo(*args_tuple)  # unpacks positional arguments from a tuple
Salin selepas log masuk

Argumen Kata Kunci:

def foo(a, b, c, **args):
    print(a, b, c, args)

arg_dict = {"a": "testa", "b": "testb", "c": "testc", "excessarg": "string"}
foo(**arg_dict)  # unpacks keyword arguments from a dictionary
Salin selepas log masuk

Pengendali asterisk membenarkan pengendalian fleksibel lebihan hujah dalam kedua-dua definisi fungsi dan panggilan. Untuk penjelasan yang mendalam, rujuk Rujukan Bahasa Python di bawah "Definisi Fungsi" dan "Panggilan Fungsi."

Atas ialah kandungan terperinci Apakah yang dilakukan oleh Asterisk (*) dalam 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