Apakah Kepentingan Aksara Asterisk (*) dalam Python?
Dalam Python, simbol asterisk (*) mengandungi satu unik kepentingan dalam definisi dan panggilan fungsi.
Definisi Fungsi:
Dalam definisi fungsi, diikuti dengan pengecam (cth., pengecam) menunjukkan bahawa fungsi boleh mengambil bilangan hujah kedudukan yang sewenang-wenangnya. Argumen-argumen ini akan dikumpulkan ke dalam tuple yang dipanggil pengecam.
Panggilan Fungsi:
Argumen Kedudukan:
*args menangkap sebarang argumen kedudukan berlebihan yang dihantar ke fungsi. Argumen ini disimpan sebagai tuple dalam pengecam yang ditentukan selepas asterisk.
Contoh:
def sum_args(*nums): total = 0 for num in nums: total += num return total
Panggilan fungsi berikut akan berfungsi dengan definisi di atas:
sum_args(1, 2, 3) # Returns 6 sum_args(1, 2, 3, 4, 5) # Returns 15
Argumen Kata Kunci:
**kwargs menangkap sebarang hujah kata kunci berlebihan yang dihantar ke fungsi. Argumen ini disimpan sebagai kamus dalam pengecam yang ditentukan selepas asterisk.
Contoh:
def print_info(**person): for key, value in person.items(): print(f"{key}: {value}")
Panggilan fungsi berikut akan berfungsi dengan definisi di atas:
print_info(name="John", age=30) # Prints "name: John", "age: 30" print_info(name="Mary", age=25, city="Boston") # Prints "name: Mary", "age: 25", "city: Boston"
Membongkar Jujukan dan Kamus:
Contoh (Unpack Tuple):
def sum_nums(a, b, c): return a + b + c args = (1, 2, 3) sum_nums(*args) # Returns 6
Contoh (Unpack Dictionary):
def print_details(**details): print("Name:", details["name"]) print("Age:", details["age"]) kwargs = {"name": "Bob", "age": 35} print_details(**kwargs) # Prints "Name: Bob", "Age: 35"
Dengan memahami kepentingan daripada asterisk (*) dalam Python, anda boleh bekerja dengan berkesan dengan argumen kedudukan dan kata kunci dalam definisi dan panggilan fungsi.
Atas ialah kandungan terperinci Apakah cara berbeza aksara asterisk (*) digunakan dalam fungsi Python?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!