utiliza - funciones y procedimientos en python
¿Cuál es la mejor manera de salir de una función(que no tiene valor devuelto) en python antes de que la función finalice(por ejemplo, una comprobación falla)? (3)
Supongamos una iteración en la que llamamos a una función sin un valor de retorno. La forma en que creo que se debe comportar mi programa se explica en este pseudocódigo:
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 implemento esto en python, me molesta que la función devuelva None
. ¿Hay una manera mejor de "salir de una función, que no tiene valor de retorno, si falla una comprobación en el cuerpo de la función"?
Podrías simplemente usar
return
que hace exactamente lo mismo que
return None
Su función también devolverá None
si la ejecución alcanza el final del cuerpo de la función sin tocar una declaración de return
. Devolver nada es lo mismo que devolver None
en Python.
Yo sugeriría:
def foo(element):
do something
if not check: return
do more (because check was succesful)
do much much more...
puede usar la declaración return
sin ningún parámetro para salir de una función
def foo(element):
do something
if check is true:
do more (because check was succesful)
else:
return
do much much more...
o presentar una excepción si desea que se le informe del problema
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...