9 Functions
This chapter covers
- Defining functions
- Using function parameters
- Passing mutable objects as parameters
- Understanding local and global variables
- Creating and using generator functions
- Creating and using lambda expressions
- Using decorators
This chapter assumes that you’re familiar with function definitions in at least one other computer language and with the concepts that correspond to function definitions, arguments, parameters, and so forth.
9.1 Basic function definitions
The basic syntax for a Python function definition is
def name(parameter1, parameter2, . . .):
body
As it does with control structures, Python uses indentation to delimit the body of the function definition. The following simple example puts the factorial code from a previous section into a function body, so you can call a fact function to obtain the factorial of a number:
def fact(n):
'''Return the factorial of the given number.''' #A
r = 1
while n > 0:
r = r * n
n = n - 1
return r #B
If the function has a return statement, like the one above, that value will be returned to the code calling the function and can be assigned to a variable. If no return is used, the function will return a None value.