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)?

Aufwind picture Aufwind · May 31, 2011 · Viewed 349.7k times · Source

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"?

Answer

Sven Marnach picture Sven Marnach · May 31, 2011

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.