Chapter 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."""    1
...     r = 1
...     while n > 0:
...         r = r * n
...         n = n - 1
...     return r                                           2
...
!@%STYLE%@!
{"css":"{\"css\": \"font-weight: bold;\"}","target":"[[{\"line\":1,\"ch\":59},{\"line\":1,\"ch\":60}],[{\"line\":2,\"ch\":12},{\"line\":2,\"ch\":13}],[{\"line\":5,\"ch\":20},{\"line\":5,\"ch\":21}],[{\"line\":6,\"ch\":59},{\"line\":6,\"ch\":60}]]"}
!@%STYLE%@!

9.2. Function parameter options

9.3. Mutable objects as arguments

9.4. Local, nonlocal, and global variables

9.5. Assigning functions to variables

9.6. lambda expressions

9.7. Generator functions

9.8. Decorators

Summary

sitemap