Rumah >pembangunan bahagian belakang >Tutorial Python >Bagaimanakah functools.partial Memudahkan Pengikatan Hujah dalam Fungsi Python?

Bagaimanakah functools.partial Memudahkan Pengikatan Hujah dalam Fungsi Python?

Susan Sarandon
Susan Sarandonasal
2024-12-27 21:52:10280semak imbas

How Can functools.partial Simplify Argument Binding in Python Functions?

Cara Mengikat Argumen dengan Fungsi Python

Fungsi functools.partial menyediakan cara yang mudah untuk mengikat argumen kepada fungsi Python, membolehkan anda untuk mencipta boleh panggil baharu yang mengekalkan sebahagian atau semua hujah fungsi asal.

Pertimbangkan contoh coretan kod:

def add(x, y):
    return x + y

add_5 = functools.partial(add, 5)
assert add_5(3) == 8

Dalam contoh ini, functools.partial mencipta fungsi baharu add_5 iaitu aplikasi separa bagi fungsi tambah, dengan argumen pertama ditetapkan kepada 5. Akibatnya, apabila anda memanggil add_5(3), fungsi ini digunakan sebagai add(5, 3), mengembalikan nilai yang dijangkakan 8.

Sintaks untuk functools.partial adalah seperti berikut:

functools.partial(func, *args, **kwargs)

di mana:

  • func ialah fungsi yang anda ingin ikat hujah
  • *args ialah hujah untuk mengikat kepada fungsi
  • **kwargs ialah hujah kata kunci untuk diikat pada function

Nilai functools.partial yang dikembalikan ialah boleh panggil yang mengambil argumen tidak terikat yang tinggal sebagai input. Jika anda perlu mengikat semua argumen pada fungsi, anda boleh menggunakan operator asterisk (*) untuk menangkap senarai argumen panjang pembolehubah.

Atas ialah kandungan terperinci Bagaimanakah functools.partial Memudahkan Pengikatan Hujah 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