Chapter 7. Functions

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.

Basics

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: 

Basics.

In this case, a number is returned. When working with functions, we have to distinguish between two different steps:

  • The definition of the function
  • The evaluation of the function, that is, the computation of f(x) for a given value of x

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.

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
3.22.61.218