Maison  >  Article  >  développement back-end  >  Comment récupérer les noms des paramètres de fonction en Python ?

Comment récupérer les noms des paramètres de fonction en Python ?

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2024-11-03 15:19:02477parcourir

How to Retrieve Function Parameter Names in Python?

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!

Déclaration:
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