# Creating Functions

## Chapter 3 Functions

### 3.1 Function calls

We have already seen one example of a**function call**:

>>> type(42) <class 'int'="">

The name of the function is type. The expression in parentheses is called the

**argument**of the function. The result, for this function, is the type of the argument. It is common to say that a function "takes" an argument and "returns" a result. The result is also called the

**return value**.

Python provides functions that convert values from one type to another. The

`int`

function takes any value and converts it to an integer, if it can, or complains otherwise:
>>> int('32') 32 >>> int('Hello') ValueError: invalid literal for int(): Hello

`int`

can convert floating-point values to integers, but it doesnâ€™t round off; it chops off the fraction part:
>>> int(3.99999) 3 >>> int(-2.3) -2

`float`

converts integers and strings to floating-point numbers:
>>> float(32) 32.0 >>> float('3.14159') 3.14159

Finally,

`str`

converts its argument to a string:
>>> str(32) '32' >>> str(3.14159) '3.14159'