Supposons une itération dans laquelle nous appelons une fonction sans valeur de retour. La façon dont je pense que mon programme devrait se comporter est expliquée dans ce pseudocode:
for element in some_list:
foo(element)
def foo(element):
do something
if check is true:
do more (because check was succesful)
else:
return None
do much much more...
Si j'implémente cela en python, cela me dérange, que la fonction renvoie un None
. Existe-t-il une meilleure façon de "quitter une fonction, qui n'a pas de valeur de retour, si une vérification échoue dans le corps de la fonction"?
raise
une exception (ou, très rarement, rendre la fonction Vrai / Faux)Réponses:
Vous pouvez simplement utiliser
qui fait exactement la même chose que
Votre fonction retournera également
None
si l'exécution atteint la fin du corps de la fonction sans toucher unereturn
instruction. Ne rien renvoyerNone
équivaut à retourner en Python.la source
return
ne fonctionne pas, si je définisa = method()
, à l'intérieur de la méthode que j'utilisereturn
, il continue à exécuter du code derrière un. exit devrait être comme php exit (), il casse le programme instantanément.import sys
abord et ensuitesys.exit()
si vous voulez quitter mais signaler un succès ousys.exit("some error message to print to stderr")
.Je voudrais suggerer:
la source
vous pouvez utiliser l'
return
instruction sans aucun paramètre pour quitter une fonctionou soulevez une exception si vous souhaitez être informé du problème
la source