Chapter 4. Functions, the Building Blocks of Code
"To create architecture is to put in order. Put what in order? Functions and objects."
 – Le Corbusier
In the previous chapters, we have seen that everything is an object in Python, and functions are no exception. But, what exactly is a function? A function is a sequence of instructions that perform a task, bundled as a unit. This unit can then be imported and used wherever it's needed. There are many advantages to using functions in your code, as we'll see shortly.
In this chapter, we are going to cover the following:
- Functions—what they are and why we should use them
- Scopes and name resolution
- Function signatures—input parameters and return values
- Recursive and anonymous functions
- Importing objects for code reuse
I believe the saying, a picture is worth one thousand words, is particularly true when explaining functions to someone who is new to this concept, so please take a look at the following diagram:
As you can see, a function is a block of instructions...