Rumah >pembangunan bahagian belakang >Tutorial Python >Bagaimana Saya Boleh Pratakrif Argumen untuk Fungsi Python Menggunakan functools.partial?
Memahami Pengikatan Argumen dalam Fungsi Python
Andaikan anda ingin mencipta fungsi yang boleh dipanggil kemudian dengan argumen tertentu yang dipratakrifkan atau dengan tambahan yang lebih sedikit hujah. Bagaimanakah ini boleh dicapai dalam Python?
Penyelesaian: functools.partial
Penyelesaian terletak pada penggunaan fungsi functools.partial. Ia mengembalikan boleh panggil yang membungkus fungsi dengan beberapa atau semua hujahnya beku. Ini membolehkan anda kemudiannya menggunakan fungsi yang dibalut dengan argumen beku yang telah digunakan.
Contoh Penggunaan
Mari kita tunjukkan cara mengikat hujah menggunakan functools.partial:
import functools print_hello = functools.partial(sys.stdout.write, "Hello world\n") print_hello()
Output:
Hello world
Kod ini mencipta fungsi print_hello yang akan sentiasa mencetak "Hello world" apabila dipanggil. Fungsi functools.partial telah mengikat argumen pertama sys.stdout.write pada rentetan "Hello world".
Equivalent Lambda Expression
Kod di atas adalah setara kepada ungkapan lambda berikut:
print_hello = lambda *a, **kw: sys.stdout.write("Hello world\n", *a, **kw)
Dalam erti kata lain, functools.partial menyediakan cara yang mudah untuk mencipta fungsi baharu dengan menggunakan sebahagian argumen pada fungsi sedia ada.
Atas ialah kandungan terperinci Bagaimana Saya Boleh Pratakrif Argumen untuk Fungsi Python Menggunakan functools.partial?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!