Menyalurkan Fungsi dengan Argumen kepada Fungsi Lain dalam Python
Masalah:
Adakah ia boleh dilaksanakan untuk menghantar fungsi dengan hujah ke fungsi lain dalam Python? Sebagai contoh, kami ingin mempunyai fungsi yang dipanggil perform yang menerima fungsi lain sebagai argumen. Fungsi yang diluluskan ini boleh mempunyai bilangan parameter yang berbeza-beza, seperti action1(), action2(p) dan action3(p,r).
Penyelesaian:
Ya , ia boleh dilakukan dalam Python menggunakan senarai argumen panjang pembolehubah (*args). Begini cara anda boleh mencapainya:
<code class="python">def perform(fun, *args): fun(*args) def action1(args): # Code for action1 def action2(args): # Code for action2 def action3(args, r): # Code for action3 perform(action1) # No arguments perform(action2, p) # One argument perform(action3, p, r) # Two arguments</code>
Dalam contoh ini, fungsi perform mengambil fungsi fun dan bilangan arbitrari argumen kedudukan *args. Ia kemudian memanggil fungsi yang diluluskan itu menyeronokkan dengan argumen yang disediakan.
Dengan menggunakan *args, anda boleh menghantar fungsi dengan sebarang bilangan argumen kepada fungsi perform. Argumen akan dibongkar secara automatik dan dihantar ke fungsi asas.
Atas ialah kandungan terperinci Bolehkah Fungsi dengan Argumen Diteruskan kepada Fungsi Lain dalam Python?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!