Récupération des noms de paramètres de fonction en Python
En Python, les paramètres de fonction sont généralement définis à l'aide de variables d'espace réservé. Bien que ces variables soient explicitement nommées dans la définition de la fonction, elles peuvent ne pas être facilement accessibles lors de l'inspection de la fonction de l'extérieur.
inspect.getfullargspec
Le module inspect fournit un méthode pratique pour obtenir la liste d’arguments d’une fonction. En appelant inspect.getfullargspec(function), où function est la fonction cible, vous pouvez récupérer un tuple contenant les noms des paramètres.
Exemple :
<code class="python">def a_method(arg1, arg2): pass print(inspect.getfullargspec(a_method)) # Output: (['arg1', 'arg2'], None, None, None)</code>
Ceci L'exemple imprime les noms des paramètres ("arg1" et "arg2") sous forme de tuple.
inspect.signature (Python 3.3)
Depuis Python 3.3, inspect.signature () fournit une approche plus avancée pour inspecter les signatures de fonctions. Il renvoie un objet Signature qui représente les paramètres de la fonction, y compris leurs types et valeurs par défaut.
Exemple :
<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>
Remarque :
Certains callables, tels que les fonctions intégrées, peuvent ne pas être introspectables dans toutes les implémentations Python. Dans de tels cas, l'utilisation de inspect.getfullargspec() ou inspect.signature() 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!