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 retourne un None
. Existe-t-il un meilleur moyen de "quitter une fonction qui n'a pas de valeur de retour si une vérification échoue dans le corps de la fonction"?
Vous pouvez simplement utiliser
return
qui fait exactement la même chose que
return None
Votre fonction renverra également None
si l'exécution atteint la fin du corps de la fonction sans frapper une instruction return
. Ne rien renvoyer revient à retourner None
en Python.
Je voudrais suggerer:
def foo(element):
do something
if not check: return
do more (because check was succesful)
do much much more...
vous pouvez utiliser l'instruction return
sans paramètre pour quitter une fonction
def foo(element):
do something
if check is true:
do more (because check was succesful)
else:
return
do much much more...
ou soulever une exception si vous voulez être informé du problème
def foo(element):
do something
if check is true:
do more (because check was succesful)
else:
raise Exception("cause of the problem")
do much much more...