En publicaciones anteriores, hemos visto un par de ejemplos de funciones: Por ejemplo la función print().
Como sabes, las funciones son formas en que podemos dar una instrucción a un programa, que ya está listo para usar, y Python tiene muchos de ellos, y los paquetes que se pueden importar agregan aún más funciones. Pero hay muchos casos en los que podríamos incluso querer crear el nuestro, ya que con ello podríamos ahorrarnos código repetitivo, pueden darnos código que compartimos con otras personas o futuros programas que escribiremos.
Vamos a ver cómo crearlos es simple:
In [1]:
def doubleMe(number):
return number*2
doubleMe(2)
Out[1]:
4
En solo dos líneas, hemos introducido una nueva función que multiplica por dos el valor añadido.
Ahora desglosemos esto poco a poco:
La primera línea usa la palabra clave ‘def’ y un nombre de función para decirle a Python que estamos creando una nueva función. Luego le decimos qué argumentos va a necesitar; le dimos a esta función un argumento, llamado ‘número’. ‘Número’ es solo un nombre, podríamos haberlo llamado cualquier cosa, pero nos ayuda el dar un nombre comprensible.
Después de la lista de argumentos entre paréntesis, agregamos dos puntos, y en las siguientes líneas en tabulación, damos las instrucciones sobre qué hacer con estos argumentos. En este ejemplo, devolvemos el ‘número’, ¡multiplicado por 2!
Vamos a crear una función que cree un Tweet para nuestro comentario mientras vemos el partido de fútbol del CD Olímpic de Xàtiva en vivo:
In [2]:
def newTweet(player, action, success):
tweet = player + » ejecuta un » + action + «.»
if (success):
if action == «pasa»:
tweet += » El equipo mantiene la pelota»
elif action == «disparo»:
tweet += » GOOOOOLLLLLL»
else:
if action == «pasa»:
tweet += » Erró el pase»
elif action == «disparo»:
tweet += » Perdió la ocasión!»
return tweet
newTweet(«Pablo», «chuta», True)
Out[2]:
‘Pablo ejecuta un disparo. GOOOOOLLLLLL’
Acabamos de crear un programa que crea tweets para nosotros, basado en tres argumentos: jugador, acción y éxito.
Toma los dos primeros argumentos y crea la primera oración en el tweet. Luego toma el valor Verdadero o Falso en éxito para decidir qué agregar al final del tweet con algunas declaraciones if anidadas. Fácil, ¿NO?
La función finalmente devuelve el nuevo tweet, que podemos agregar manualmente a nuestro feed. ¿Sabías que existe un paquete de Twitter para Python que te permitirá publicar directamente en Twitter? Una lección para otro día, así tu solamente deberás mirar el partido del CD Olímpic y ejecutar el programa, porque luego él solo publicará el tweet.
Resumen de como crear funciones con Python
En este post hemos visto cómo definir funciones con la siguiente estructura:
def nombreFunción(Argumentos):
do que hacer según argumentos
¡Esto nos permite escribir código reutilizable que hará que nuestros programas sean más inteligentes, ordenados y compartibles! Incorporan sentencias if , bucles for y todo lo demás que has aprendido hasta ahora aquí y lo que seguirás aprendiendo en Python.
En nuestro ejemplo, creamos una pequeña función que crea tweets para nosotros para un comentario de texto en vivo, que nos ahorra escribir las mismas cosas repetidamente. No fue particularmente inteligente, pero no te preocupes llegaremos allí.