La palabra clave def es utilizada para la definición de una función. Debe de ir seguida del nombre de la función y la lista de parámetros entre paréntesis. Python no distingue entre procedimientos y funciones. Si es una función, esta devolverá algún tipo de valor con la sentencia return.
def nombre_funcion (param1, param2 ...): bloque_funcion
Los parámetros de una función pueden tener valores por defecto, de forma que cuando se invoque a la función no tengamos que especificarlos todos. En este último caso habrá que nominar los parámetros, para saber cuales toman un valor y cuales su defecto.
>>> def tabla_mult(p1=1): ... for i in range(11): ... print i * p1 ...