Functions are used extensively in programming languages
just as in mass in programming a function takes an input as a list of arguments,
does some calculations on the input and then gives back a single result.
As we already saw they are many built in functions in Python, such as print or len.
But you can also create your own functions.
The functions you create are called user defined functions.
But you'll see how it can do this later.
Why would you create your own functions?
Well, first of all, it allows you to reuse code.
Once you write the function, you can call it many times in your program instead of
rewriting its code every time you need it.
Second, it is much easier to understand the program if it is
presented as a sequence of steps.
Each step can be a function that you know what it's doing, but
not necessarily how, especially if you use functions written by other people.