Defining functions

Functions are defined using the def keyword followed by the function name, an argument list in parentheses, and a colon to start a new block. Let's quickly define a few functions at the REPL to get the idea:

>>> def square(x):
... return x * x
...

We use the return keyword to return a value from the function.

As we've seen previously, we call functions by providing the actual arguments in parentheses after the function name:

>>> square(5)
5

Functions aren't required to explicitly return a value though — perhaps they produce side effects:

>>> def launch_missiles():
... print("Missiles launched!")
...
>>> launch_missiles()
Missiles launched!

You can return early from a function by using the return keyword with no parameter:

>>> def even_or_odd(n):
... if n % 2 == 0:
... print("even")
... return
... print("odd")
...
>>> even_or_odd(4)
even
>>> even_or_odd(5)
odd

If you don't have an explicit return in your function, Python will implicitly add one at the end if your function. This implicit return, or a return without a parameter, actually causes the function to return None. Remember, though, that the REPL doesn't display None results, so we don't see them. By capturing the returned object into a named variable we can test for None:

>>> w = even_or_odd(31)
odd
>>> w is None
True
..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset