Lo más importante para programar, y no solo en Python, es saber organizar el código en piezas más pequeñas que hagan tareas independientes y combinarlas entre sí. Las funciones son el primer nivel de organización del código: reciben unas entradas, las procesan y devuelven unas salidas.
Como primer paso, vamos a crear una función que no recibe ninguna entrada ni produce ninguna salida, pero que imprime una frase por pantalla. Para eso emplearemos la palabra clave def
, seguida del nombre de la función, y abriremos un bloque nuevo.
def funcion1():
print("¡Soy la función 1!")
Y ahora invocamos la función con la sintaxis que ya conocemos:
funcion1()
¡Soy la función 1!
salida = funcion1()
¡Soy la función 1!
salida
salida is None
True
En el siguiente ejercicio vamos a ver cómo evitar esto.
Vamos a crear ahora una función sin entradas pero con una salida. Para ello usamos la palabra clave return
.
def funcion2():
return "Salida de la función 2"
funcion2()
'Salida de la función 2'
Y ahora sí podemos asignar esa salida a una variable:
salida = funcion2()
print(salida)
Salida de la función 2
salida[4::2] # Lo primero que se me ha venido a la cabeza
'd el ucó '
Aclarado el concepto (que a veces puede quedar difuso cuando se trabaja en modo interactivo) normalmente querremos devolver valores. De esta forma podemos enlazar funciones como si fueran bloques, uno detrás de otro, y estructurar nuestro programa mucho mejor.
Vamos a crear ahora una función que compruebe si un número es mayor o menor que cinco. La salida ahora no nos importa mucho: lo importante es que al declarar los argumentos de entrada en la definición de la función, podremos usarlos dentro de ella con el nombre que decidamos.
def comparar_cinco(num):
if num < 5:
return "El número es menor que cinco"
elif num == 5:
return "El número es igual a cinco"
else:
return "El número es mayor que cinco"
print(comparar_cinco(2))
El número es menor que cinco
mi_numero = 7 # Aquí la variable se llama `mi_numero`
print(comparar_cinco(mi_numero)) # ¡Dentro de la función eso me da igual!
El número es mayor que cinco
En esta clase hemos visto cómo crear funciones que encapsulen tareas de nuestro programa
Referencias
Las siguientes celdas contienen configuración del Notebook
Para visualizar y utlizar los enlaces a Twitter el notebook debe ejecutarse como seguro
File > Trusted Notebook
# Esta celda da el estilo al notebook
from IPython.core.display import HTML
css_file = '../styles/aeropython.css'
HTML(open(css_file, "r").read())