Rumah >pembangunan bahagian belakang >Tutorial Python >Bagaimana untuk Meluluskan Fungsi dengan Argumen sebagai Parameter dalam Python?

Bagaimana untuk Meluluskan Fungsi dengan Argumen sebagai Parameter dalam Python?

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-10-23 07:18:29595semak imbas

How to Pass Functions with Arguments as Parameters in Python?

Menyalurkan Fungsi dengan Argumen kepada Fungsi Lain dalam Python

Untuk fleksibiliti yang dipertingkatkan dan kebolehgunaan semula kod, Python menawarkan keupayaan untuk menghantar fungsi dengan argumen sebagai parameter kepada fungsi lain. Teknik ini mengembangkan kefungsian fungsi dengan menggabungkan gelagat fungsi lain.

Pertimbangkan senario berikut di mana anda ingin mencipta fungsi bernama 'perform' yang beroperasi pada panggilan fungsi yang berbeza. Walau bagaimanapun, panggilan fungsi ini, seperti 'action1()', 'action2(p)' dan 'action3(p,r)', mempunyai hujahnya sendiri.

Untuk mencapainya, anda boleh menggunakan Sintaks Python untuk menghantar fungsi dengan argumen:

<code class="python">def perform(fun, *args):
    fun(*args)</code>

Dalam kod ini, fungsi 'perform' menjangkakan dua parameter: 'fun' (fungsi yang akan dipanggil) dan '*args' (variable-length senarai hujah). Struktur ini membenarkan 'perform' untuk menerima sebarang bilangan argumen yang dihantar kepada fungsi 'fun' apabila ia dipanggil.

Berikut ialah contoh cara anda boleh menggunakan fungsi 'perform':

<code class="python">def action1(args):
    # Perform some action

def action2(args):
    # Perform a different action

perform(action1)
perform(action2, p)
perform(action3, p, r)</code>

Dalam contoh ini, fungsi 'perform' dipanggil dengan fungsi yang berbeza ('action1', 'action2' dan 'action3') dan argumen yang sepadan. Parameter 'fun' merujuk kepada fungsi yang dipanggil, manakala parameter '*args' mengandungi argumen yang dihantar kepada fungsi tersebut.

Atas ialah kandungan terperinci Bagaimana untuk Meluluskan Fungsi dengan Argumen sebagai Parameter dalam 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