Extraction des noms de paramètres de méthode avec Python
En Python, déterminer les noms des paramètres de méthode peut être crucial pour la refactorisation, le débogage ou la documentation du code . Considérons une fonction définie comme :
<code class="python">def a_method(arg1, arg2): pass</code>
Pour obtenir les noms des paramètres sous forme de tuple, il existe plusieurs approches :
Utilisation du module inspect
Le module inspect fournit un ensemble complet de fonctions pour examiner les objets de code. Il prend en charge l'extraction des noms de paramètres via inspect.getfullargspec() :
<code class="python">import inspect inspect.getfullargspec(a_method) # Output: (['arg1', 'arg2'], None, None, None)</code>
Cela renvoie également un tuple contenant les noms des arguments de position (dans ce cas, ("arg1", "arg2")). comme informations sur les mots-clés, les arguments variables et les valeurs par défaut (qui ne sont pas pertinentes dans cet exemple).
Utilisation de inspect.signature()
Depuis Python 3.3, la fonction inspect.signature() fournit une vue complète de la signature d'un appelable :
<code class="python">inspect.signature(a_method) # Output: <Signature (a, b, c=4, *arglist, **keywords)></code>
Cela révèle la signature avec toutes les informations sur les paramètres, y compris les valeurs par défaut et les arguments de longueur variable.
Mises en garde
Certains callables, en particulier les fonctions intégrées dans CPython, peuvent ne pas être introspectables. Tenter de les inspecter peut entraîner une ValueError.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!