Maison  >  Article  >  développement back-end  >  Comment obtenir une liste de noms de paramètres pour une fonction Python ?

Comment obtenir une liste de noms de paramètres pour une fonction Python ?

Linda Hamilton
Linda Hamiltonoriginal
2024-11-01 06:16:31842parcourir

How to Get a List of Parameter Names for a Python Function?

Récupération des noms de paramètres dans les fonctions Python

En Python, l'introspection des paramètres d'une fonction peut être utile à diverses fins. Une question courante est de savoir comment obtenir par programme une liste des noms de paramètres pour une fonction donnée.

Méthodes Python intégrées

Le module inspect fournit des capacités d'introspection complètes pour Objets Python, y compris les fonctions. Cependant, les méthodes inspect.getargspec() et inspect.signature(), souvent utilisées pour récupérer des informations sur les paramètres, sont obsolètes dans Python 3.10 et les versions ultérieures.

Approche alternative utilisant les métadonnées de fonction

Heureusement, il existe une approche alternative qui exploite les métadonnées de la fonction sous-jacente :

<code class="python">def list_parameter_names(func):
    """Returns a list of parameter names for a given function."""

    # Get the function's code object.
    code = func.__code__
    
    # The co_varnames attribute contains a tuple of parameter names.
    return code.co_varnames</code>

Cet extrait de code définit une fonction réutilisable, list_parameter_names(), qui prend une fonction comme argument et renvoie un liste de ses noms de paramètres.

Exemple d'utilisation

Voici un exemple montrant comment utiliser la fonction list_parameter_names() :

<code class="python">def my_function(a, b, c):
    ...

parameter_names = list_parameter_names(my_function)
print(parameter_names)
# Output: ['a', 'b', 'c']</code>

Considérations supplémentaires

Notez que cette méthode s'appuie sur l'objet code de la fonction, qui est un objet immuable qui ne peut pas être modifié. Cela signifie que toute modification apportée à la liste des paramètres de la fonction après sa création ne sera pas reflétée dans les noms de paramètres obtenus via cette méthode.

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