Pourquoi ne puis-je pas utiliser le “retour” en fonction lambda en python?
Cela ne fonctionne pas:
print((lambda : return None)())
Mais ce n':
print((lambda : None)())
Pourquoi?
Pourquoi voudriez-vous? Avez-vous un exemple précis nous pouvons vous aider avec?
Je m en essayant de donner une éducation exemple de la plus simpliste fonction lambda - vide lambda
Je m en essayant de donner une éducation exemple de la plus simpliste fonction lambda - vide lambda
OriginalL'auteur ERJAN | 2016-05-04
Vous devez vous connecter pour publier un commentaire.
Parce que
return
est une instruction. Les Lambdas ne peut contenir que des expressions.OriginalL'auteur Daniel Roseman
lambda
fonctions de retour automatique d'une expression. Ils ne peuvent pas contenir de déclarations.return None
est une déclaration et, par conséquent, ne peuvent pas travailler.None
est une expression et fonctionne donc.OriginalL'auteur TigerhawkT3
car lambda prend un certain nombre de paramètres et une expression de la combinaison de ces paramètres, et crée une petite fonction qui retourne la valeur de l'expression.
voir: https://docs.python.org/2/howto/functional.html?highlight=lambda#small-functions-and-the-lambda-expression
OriginalL'auteur delanne
Lambda peut s'exécuter qu' états et de retourner le résultat de l'instruction exécutée, le résultat est l'expression.
Envisager d'utiliser
or
etand
opérateurs pour obtenir plus de flexibilité dans les valeurs qui seront retournés par votre lambda. Voir quelques exemples ci-dessous:OriginalL'auteur Andriy Ivaneyko
Souviens d'un
lambda
peut en appeler une autre fonction qui peut à son tourreturn
quoi que ce soit (Même un autrelambda
)OriginalL'auteur renton