Duplicaté possible: strong>
Comment découvrir la monnaie d'une méthode Python p>Par exemple, j'ai déclaré une fonction: p>
xxx pré> Je veux avoir la longueur des arguments de la fonction "somme".
Somethig comme ceci: Certain_function (somme) à retourner 3
Comment peut-on être fait en python? p>MISE À JOUR: B>
J'ai posé cette question parce que je veux écrire une fonction qui accepte une autre fonction en tant que paramètre et argument pour le transmettre. P>xxx pré> et je dois valider: p> < Pré> xxx pré> blockQuote>
3 Réponses :
import inspect print len(inspect.getargspec(sum)[0])
Le module code> code> est votre ami; spécifiquement inspect.getargspec code> qui vous donne des informations sur les arguments d'une fonction:
argscec code> contient également des détails sur les arguments facultatifs et les arguments de mots clés, qui Dans votre cas, vous n'avez pas, mais cela vaut la peine de savoir: p>
Si votre nom de méthode est somme code> alors
sum.func_code.co_argcount code> vous donnera le nombre d'arguments. P>
Quels descentes sont là à utiliser cette méthode? Compte tenu des autres réponses que je suppose en utilisant inspecter code> est la manière préférée. Pourquoi est-ce?
Vous pouvez voir le code source, ne pouvez-vous pas? C'est évidemment 3. Que devez-vous savoir de plus?
Pourquoi n'essayez-vous pas de passer
* args code> et de retourner
retour len (args) code> ou
retour len (filtre (aucun, args) code> !! !
Parce que je veux écrire une fonction qui accepte une autre fonction en tant que paramètre et argument pour le transmettre. Def Funct (un autreFunct, ** args): Et je dois valider: si (len (args)! = autrefact.func_code.co_argcount): retour "Erreur"
Veuillez Mettre à jour B> Votre question pour inclure toutes les informations de base.