Membongkar dalam Panggilan Fungsi Menggunakan dan Operator*
Python dan * pengendali memainkan peranan penting peranan dalam panggilan fungsi, membolehkan pembongkaran urutan, koleksi dan koleksi dengan mudah kamus.
Membongkar Urutan dan Koleksi dengan * (Bintang Tunggal)
Pengendali * (bintang tunggal) membongkar urutan atau koleksi ke dalam argumen kedudukan. Sebagai contoh, pertimbangkan kod berikut:
def add(a, b): return a + b values = (1, 2) s = add(*values) # unpacks values into individual arguments
Ini bersamaan dengan menulis:
s = add(1, 2)
Membuka Kamus dengan (Bintang Berganda)**
Pengendali ** (double star) melakukan operasi yang serupa untuk kamus, mengekstrak argumen bernama. Sebagai contoh, diberikan:
values = {'a': 1, 'b': 2} s = add(**values) # unpacks values as keyword arguments
Ini bersamaan dengan:
s = add(a=1, b=2)
Menggabungkan Operator untuk Membongkar Panggilan Fungsi
Kedua-duanya dan * operator boleh digunakan bersama dalam panggilan fungsi. Sebagai contoh, diberikan:
def sum(a, b, c, d): return a + b + c + d values1 = (1, 2) values2 = {'c': 10, 'd': 15} s = add(*values1, **values2) # combines sequence and dictionary unpacking
Ini bersamaan dengan:
s = sum(1, 2, c=10, d=15)
Implikasi Prestasi
Operasi membongkar dengan dan * menanggung sedikit overhed kerana tuple dan penciptaan kamus. Walau bagaimanapun, untuk set data yang kecil, impak prestasi biasanya boleh diabaikan. Untuk set data yang lebih besar, pertimbangkan kaedah alternatif untuk kecekapan, seperti menggunakan tuple dan pemahaman kamus.
Kegunaan Tambahan dalam Parameter Fungsi
Atas ialah kandungan terperinci Bagaimanakah * dan Operator Membongkar Argumen dalam Panggilan Fungsi Python?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!