Étant donné la fonction Python :
def a_method(arg1, arg2):
pass
Comment puis-je extraire le nombre et les noms des arguments. C'est-à-dire que, étant donné que j'ai une référence à func
Je veux le func.[something]
pour revenir ("arg1", "arg2")
.
Le scénario d'utilisation est le suivant : j'ai un décorateur et je souhaite utiliser les arguments de la méthode dans le même ordre qu'ils apparaissent pour la fonction réelle en tant que clé. Par exemple, comment le décorateur pourrait-il ressembler à l'impression suivante "a,b"
quand j'appelle a_method("a", "b")
?
1 votes
Pour une liste différente de réponses à une question presque identique, voir cet autre post de stackoverflow
4 votes
Votre titre est trompeur : quand on dit 'méthode' par rapport au mot 'fonction', on pense généralement à une méthode de classe. Pour la fonction, votre réponse sélectionnée (de Jouni K. Seppanen) est bonne. Mais pour la méthode (de classe), elle ne fonctionne pas et la solution de l'inspecteur (de Brian) devrait être utilisée.