Bagaimana untuk Mengambil Nama Parameter Fungsi dalam Python?

Mary-Kate Olsen
Lepaskan: 2024-11-03 15:19:02
asal
476 orang telah melayarinya

How to Retrieve Function Parameter Names in Python?

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>
Salin selepas log masuk

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>
Salin selepas log masuk

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!

sumber:php.cn
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!