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

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

Patricia Arquette
Patricia Arquetteasal
2024-11-26 10:04:08642semak imbas

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)

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

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

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:
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