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

2

4 Answers

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.

4

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... 
  1. return None or return can be used to exit out of a function or program, both does the same thing
  2. quit() 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") 
  1. exit() function can be used, similar to quit() but the use is discouraged for making real world applications.
import site def func(): print("Hi") exit() print("Bye") 
  1. sys.exit([arg]) function can be used and need to import 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.") 
  1. os._exit(n) function can be used to exit from a process, and need to import os module for that.

Your Answer

Sign up or log in

Sign up using Google Sign up using Facebook Sign up using Email and Password

Post as a guest

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy