Functions are a fundamental aspect of many programming languages. They allow a programmer to both simplify their code by hiding away many lines of code into a single line, while reducing the amount of work a programmer needs to do, if they need to do the same thing many times.

The concept of a function will hopefully be familar from mathematics, e.g.

where, is some mathematical operation that acts on the argument , while the details of the function are abstracted away. An example of a function is,

Using this we can say that , , etc.

A function in programming is very similar, it consists of arguments and returns a value after some operation has taken place.

The Pythonic way to define a function is:

def name_of_function(argument):
    return result

The def tells the computer that you are wanting to define a function, the return tells the computer that this is the thing that should be sent back to the where the function is called.

The use of functions is an important paradigm in programming – the following Jupyter notebook gives some examples of functions and how they can be used.