# Functions

Courses

Functions
To repeat lines of code, you can use a function. A function has a unique distinct name in the program. Once you call a function it will execute one or more lines of codes, which we will call a code block.

For example, we could have the Pythagoras function:

In case your math is a little rusty,  a^2 + b^2 = c^2. Thus, c = sqrt( a^2 + b^2). In code we could write that as:

```import math

def pythagoras(a,b):
value = math.sqrt(a *a + b*b)
print(value)

pythagoras(3,3)
```

We call the function with parameters a=3 and b =3 on the last line.  A function can be called several times with varying parameters. There is no limit to the number of function calls.

The def keyword tells Python we define a function.  Always use four spaces to indent the code block, using another number of spaces will throw a syntax error.

It is also possible to store the output of a function in a variable.  To do so, we use the keyword return.

```import math

def pythagoras(a,b):
value = math.sqrt(a*a + b*b)
return value

result = pythagoras(3,3)
print(result)
```

The function pythagoras is called with a=3 and b=3. The program execution continues in the function pythagoras. The output of math.sqrt(a*a + b*b) is stored in the function variable value. This is returned and the output is stored in the variable result. Finally, we print variable result to the screen.

### 6 thoughts on “Functions”

- February 13, 2016

You got a small typo below the first block of code. I think it’s supposed to be ‘y=3’. 🙂

- February 18, 2016

Thanks Sebastian!

- July 12, 2016

How do you do addition and subtraction?
By the way I am a beginner

- July 13, 2016
```def add(a,b):
return a+b

def sub(a,b):
return a-b