This chapter introduces functions, a fundamental building block in programming. We show how to define them, how to handle input and output, how to properly use them, and how to treat them as objects.
In mathematics, a function is written as a map that uniquely assigns an element y from the range R to every element x from the domain D.
This is expressed by f : D → R
Alternatively, when considering particular elements x and y, one writes f : x → y
Here, f is called the name of the function and f(x) is its value when applied to x. Here, x is sometimes called the argument of f. Let's first look at an example before considering functions in Python.
For example, D = ℝ x ℝ and y = f(x1, x2) = x1 - x2. This function maps two real numbers to their difference.
In mathematics, functions can have numbers, vectors, matrices, and even other functions as arguments. Here is an example of a function with mixed arguments:
.
In this case, a number is returned. When working with functions, we have to distinguish between two different steps:
The first step is done once, while the second can be performed many times for various arguments. Functions in programming languages follow the same concept and apply it to a wide range of types of input arguments, for example, strings, lists, or any object. We demonstrate a definition of the function by considering the given example again:
def subtract(x1, x2): return x1 - x2
The keyword def
indicates that we are going to define a function. subtract
is the function’s name and x1
and
x2
are its parameters. The colon indicates that we are using a block command and the value that is returned by the function follows the return
keyword. Now, we can evaluate this function. This function is called with its parameters replaced by input arguments:
r = subtract(5.0, 4.3)
The result 0.7 is computed and assigned to the r
variable.
3.22.61.218