Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana Mengekstrak Nama Parameter Kaedah Menggunakan Teknik Introspeksi?

Bagaimana Mengekstrak Nama Parameter Kaedah Menggunakan Teknik Introspeksi?

Barbara Streisand
Barbara Streisandasal
2024-11-02 03:16:02623semak imbas

How to Extract Method Parameter Names Using Introspection Techniques?

Teknik Introspeksi untuk Mengekstrak Nama Parameter Kaedah

Diberi fungsi seperti:

def a_method(arg1, arg2):
    pass

Dapatkan nama parameter sebagai tuple rentetan, seperti sebagai ("arg1", "arg2").

Memeriksa Objek Kod

Gunakan modul periksa untuk introspeksi objek kod:

<code class="python">>>> inspect.getfullargspec(a_method)
(['arg1', 'arg2'], None, None, None)</code>

Ini mengembalikan senarai argumen, sekumpulan nilai lalai, kamus hujah kata kunci dan bilangan hujah kata kunci sahaja.

Memeriksa Boleh Panggil

Contoh berikut mempamerkan introspeksi untuk boleh panggil dengan argumen berubah:

<code class="python">>>> def foo(a, b, c=4, *arglist, **keywords): pass
>>> inspect.getfullargspec(foo)
(['a', 'b', 'c'], 'arglist', 'keywords', (4,))</code>

Nota: Fungsi terbina dalam tertentu yang ditakrifkan dalam C tidak boleh disemak, mengakibatkan ValueError apabila menggunakan inspect.getfullargspec().

Python 3.3 dan Di Atas

Untuk versi Python 3.3 dan ke atas, inspect.signature() menyediakan paparan yang lebih komprehensif bagi tandatangan boleh panggil:

<code class="python">>>> inspect.signature(foo)
<Signature (a, b, c=4, *arglist, **keywords)></code>

Atas ialah kandungan terperinci Bagaimana Mengekstrak Nama Parameter Kaedah Menggunakan Teknik Introspeksi?. 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