Mengambil semula Nama Parameter Fungsi dalam Python
Dalam Python, parameter fungsi biasanya ditakrifkan menggunakan pembolehubah pemegang tempat. Walaupun pembolehubah ini dinamakan secara eksplisit dalam definisi fungsi, ia mungkin tidak mudah diakses apabila memeriksa fungsi dari luar.
inspect.getfullargspec
Modul inspect menyediakan kaedah mudah untuk mendapatkan senarai hujah fungsi. Dengan memanggil inspect.getfullargspec(function), di mana fungsi ialah fungsi sasaran, anda boleh mendapatkan tuple yang mengandungi nama parameter.
Contoh:
<code class="python">def a_method(arg1, arg2): pass print(inspect.getfullargspec(a_method)) # Output: (['arg1', 'arg2'], None, None, None)</code>
Ini contoh mencetak nama parameter ("arg1" dan "arg2") sebagai tuple.
inspect.signature (Python 3.3 )
Sejak Python 3.3, inspect.signature () menyediakan pendekatan yang lebih maju untuk memeriksa tandatangan fungsi. Ia mengembalikan objek Tandatangan yang mewakili parameter fungsi, termasuk jenis dan nilai lalainya.
Contoh:
<code class="python">def foo(a, b, c=4, *arglist, **keywords): pass print(inspect.signature(foo)) # Output: <Signature (a, b, c=4, *arglist, **keywords)></code>
Nota:
Sesetengah pemanggil, seperti fungsi terbina dalam, mungkin tidak boleh introspeksi dalam semua pelaksanaan Python. Dalam kes sedemikian, menggunakan inspect.getfullargspec() atau inspect.signature() boleh mengakibatkan ValueError.
Atas ialah kandungan terperinci Bagaimana untuk Mengambil Nama Parameter Fungsi dalam Python?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!