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

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

Susan Sarandon
Libérer: 2024-11-03 06:52:30
original
1007 Les gens l'ont consulté

How to Retrieve Method Parameter Names in Python?

Obtention des noms de paramètres de méthode

Étant donné une fonction définie comme :

def a_method(arg1, arg2):
    pass
Copier après la connexion

Comment pouvons-nous récupérer les noms d'arguments sous forme de tuple de chaînes, comme ("arg1", "arg2") ?

Utilisation du module Inspect

Le module inspect nous permet d'inspecter les objets de code et de récupérer leurs propriétés. Pour obtenir les noms d'arguments d'une_méthode, utilisez inspect.getfullargspec() :

>>> inspect.getfullargspec(a_method)
(['arg1', 'arg2'], None, None, None)
Copier après la connexion

Le résultat est constitué des noms d'arguments et d'informations supplémentaires, telles que les noms des args et * kwargs et leurs valeurs par défaut.

def foo(a, b, c=4, *arglist, **keywords): pass
>>> inspect.getfullargspec(foo)
(['a', 'b', 'c'], 'arglist', 'keywords', (4,))
Copier après la connexion

Utilisation de inspect.signature()

Dans Python 3.3 et versions ultérieures, nous pouvons utiliser inspect.signature() pour obtenir la signature d'appel d'un objet appelable :

>>> inspect.signature(foo)
<Signature (a, b, c=4, *arglist, **keywords)>
Copier après la connexion

Cela fournit une signature plus détaillée, y compris les types de paramètres et les valeurs par défaut.

Remarque : Certains appelables en Python peuvent ne pas être introspectables, en particulier ceux définis en C dans CPython. Dans de tels cas, inspect.getfullargspec() générera 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