Summary
In this chapter, we explored the world of functions. They are very important and, from now on, we will use them in virtually everything we do. We talked about the main reasons for using them, the most important of which are code reuse and implementation hiding.
We saw that a function object is like a box that takes optional inputs and may produce outputs. We can feed input arguments to a function in many different ways, using positional and keyword arguments, and using variable syntax for both types.
You should now know how to write a function, document it, import it into your code, and call it.
In the next chapter we will be picking up the pace a little a bit, so we suggest you spend a bit of time to consolidate and enrich the knowledge you have gathered so far by experimenting with code, and reading the Python official documentation.