What is the best way to exit a function (which has no return value) in python before the function ends (e.g. a check fails)? [duplicate]
Let's assume an iteration in which we call a function without a return value. The way I think my program should behave is explained in this 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...
If I implement this in python, it bothers me, that the function returns a None
. Is there a better way for "exiting a function, that has no return value, if a check fails in the body of the function"?
You could simply use
return
which does exactly the same as
return None
Your function will also return None
if execution reaches the end of the function body without hitting a return
statement. Returning nothing is the same as returning None
in Python.
I would suggest:
def foo(element):
do something
if not check: return
do more (because check was succesful)
do much much more...
you can use the return
statement without any parameter to exit a function
def foo(element):
do something
if check is true:
do more (because check was succesful)
else:
return
do much much more...
or raise an exception if you want to be informed of the problem
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...
return None
orreturn
can be used to exit out of a function or program, both does the same thingquit()
function can be used, although use of this function is discouraged for making real world applications and should be used only in interpreter.
import site
def func():
print("Hi")
quit()
print("Bye")
exit()
function can be used, similar toquit()
but the use is discouraged for making real world applications.
import site
def func():
print("Hi")
exit()
print("Bye")
sys.exit([arg])
function can be used and need toimport sys
module for that, this function can be used for real world applications unlike the other two functions.
import sys
height = 150
if height < 165: # in cm
# exits the program
sys.exit("Height less than 165")
else:
print("You ride the rollercoaster.")
os._exit(n)
function can be used to exit from a process, and need toimport os
module for that.
精彩评论