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

Bagaimana untuk Meluluskan Fungsi sebagai Argumen dalam Python?

DDD
DDDasal
2024-11-19 03:30:021015semak imbas

How to Pass Functions as Arguments in Python?

Melalui Fungsi sebagai Argumen dalam Python

Dalam Python, adalah mungkin untuk menghantar fungsi sebagai argumen kepada fungsi lain, meningkatkan fleksibiliti kod dan kebolehgunaan semula . Katakan anda mempunyai fungsi, myfunc, yang memerlukan dua hujah: anotherfunc dan extraArgs. Matlamat anda adalah untuk memanggil anotherfunc dari dalam myfunc, menghantar extraArgs.

Cara Meluluskan Fungsi sebagai Argumen

Untuk menghantar fungsi sebagai hujah, anda hanya boleh menggunakan nama fungsi tanpa kurungan. Sebagai contoh, myfunc boleh ditakrifkan sebagai:

def myfunc(anotherfunc, extraArgs):
    # Call `anotherfunc` here, passing it `extraArgs`
    pass

Untuk menghantar senarai atau tuple argumen sebagai extraArgs, anda boleh menggunakan operator asterisk (*) untuk membongkarnya. myfunc kemudiannya boleh memanggil anotherfunc seperti berikut:

def myfunc(anotherfunc, extraArgs):
    anotherfunc(*extraArgs)

Contoh

Pertimbangkan fungsi berikut:

def x(a, b):
    print('a:', a, 'b:', b)

def y(z, t):
    z(*t)

Apabila anda memanggil y dengan x sebagai hujah pertama dan tuple hujah sebagai hujah kedua, x dipanggil dengan itu argumen:

>>> y(x, ('hello', 'manuel'))
a: hello b: manuel

Kesimpulan

Melalukan fungsi sebagai argumen membolehkan anda mencipta kod yang fleksibel dan boleh digunakan semula dalam Python, membolehkan anda merangkum fungsi dan mengendalikan pelbagai senario secara dinamik. Dengan memahami cara menghantar fungsi sebagai hujah, anda boleh meningkatkan kod anda dan menjadikannya lebih mudah disesuaikan dengan keperluan yang berbeza.

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