Comment puis-je extraire les noms des paramètres de méthode en Python ?

Susan Sarandon
Libérer: 2024-11-02 22:59:33
original
775 Les gens l'ont consulté

How Can I Extract Method Parameter Names in Python?

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>
Copier après la connexion

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>
Copier après la connexion

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>
Copier après la connexion

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!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal