Saltar al contenido principal

Definición de funciones

Hasta ahora, solo usamos funciones que vienen incorporadas en Python, pero es posible añadir también funciones nuevas. Una definición de función especifica el nombre de una función nueva y la secuencia de sentencias que se ejecutan cuando esa función es llamada. Una vez definida una función, se puede reutilizar una y otra vez a lo largo de todo el programa.

Ejemplo:

def mostrar_estribillo():
print('Soy un leñador, qué alegría.')
print('Duermo toda la noche y trabajo todo el día.')

def es una palabra reservada que indica que se trata de la definición de una función. El nombre de la función es mostrar_estribillo. Las reglas para los nombres de las funciones son las mismas que para las variables. Se pueden usar letras, números y algunos signos de puntuación, pero el primer carácter no puede ser un número. No se puede usar una palabra clave como nombre de una función, y se debería evitar también una variable y una función con el mismo nombre.

Los paréntesis vacíos después del nombre indican que esta función no toma ningún argumento. Más tarde construiremos funciones que reciban argumentos de entrada.

La primera línea de definición de una función es llamada cabecera. El resto se llama cuerpo. La cabecera debe terminar con dos puntos (:), y el cuerpo debe ir tabulado. El cuerpo puede contener cualquier número de sentencias.

Al definir una función se crea una variable con el mismo nombre.

print(mostrar_estribillo) # <function mostrar_estribillo at 0xb7e99e9c>
print(type(mostrar_estribillo)) # <type 'function'>

El valor de mostrar_estribillo es function object, que tiene como tipo function.