 # Functions¶

Function is commonly used to group a series of statements together to achieve a specific objective.

To declare a function:

```def add_one(x):
'''
This function takes in a number as argument and increment the number by 1
'''
print x + 1
```

To invoke a function:

```>>> add_one(5)
6
>>> add_one(2)
3
```

## Functions with return statement¶

By default, all functions return None. Function that returns value is known as fruitful function.

```def add_one(x):
'''
This function takes in a number as argument and increment the number by 1
'''
return x + 1
```

It is a good practice to assign the value returned by a function to a variable.

```>>> x = add_one(5)
>>> print x
6
```

## Using built-in functions¶

The python installation is pre-packaged with many modules which contain some commonly used functions. One such module is the math module. To use a builtin module, you have to use the import statement.

```>>> import math
>>> math.sqrt(4.0)              # Note: need to include the module name in the function call
2
>>> import random
>>> random.randint(0, 100)
>>> 20
```

## The Anonymous functions¶

The lambda keyword can be used to create small anonymous functions. An example of using lambda keyword is shown below:

```>>> total = lambda num1, num2: num1 + num2      #LHS of colon : arguments, # RHS of colon: function body
>>> total(1,2)
3
```

See also

Ready for some practice? Test your understanding at PySchools: Functions.