Como en cualquier otro lenguaje, en Python también es posible definir funciones, es decir, secuencias de enunciados que reciben ciertos datos, ejecutan algunas operaciones sobre ellos y devuelven un resultado.
Para definir una función se usa la palabra clave def
, y el valor que va a retornar siempre debe ser precedido por un return
. La sintaxis de una función es como se ve a continuación::
def NOMBRE(LISTA DE ARGUMENTOS):
ENUNCIADOS
return VALOR
ó
def NOMBRE(LISTA DE ARGUMENTOS):
ENUNCIADOS
print(VALOR)
La línea que contiene el return
(o print
) es opcional, pues no todas las funciones deben retornar algo. Por ejemplo, hay algunas que sólo modifican los valores de ciertas variables, por lo que no necesitan retornar o imprimir ningún valor.
Nota:
Es muy importante tener en cuenta que los enunciados que hacen parte de la función deben estar cuatro espacios por dentro del encabezado. En otras palabras, todo lo que esté indentado con cuatro espacios por dentro de la definición, pertenece al cuerpo de la función, ya que en Python la indentación es lo único que define la forma en que se agrupa el código. Sólo cuando el nivel de indentación se retorne al punto en que se escribió el primer def
se considera que ha terminado la definición de la función.
Un ejemplo muy sencillo de una función que toma un argumento x
y retorna este argumento elevado al cuadrado es:
In [ ]:
def cuadrado(x):
print("El cuadrado de ",x," es:",x**2)
return x**2
Podemos comprobar que la función esta operando correctamente al pasarle varios argumentos y ver los resultados que retorna:
In [ ]:
cuadrado(3)
In [ ]:
cuadrado(5)
In [ ]:
cuadrado(10)
In [ ]:
cuadrado('a')
En el último caso vemos que si intentamos pasarle a la función un argumento que no puede ser procesado, Python simplemente retorna un error.
In [ ]:
# Escribir la solución aquí
In [ ]:
# Evaluar la función aquí
Definir una función distancia
que tome dos argumentos x,y
, que sean listas de dos elementos, y calcule la distancia entre ellos usando el teorema de Pitágoras:
Pueden comprobar que la función está haciendo su trabajo correctamente si retorna estos valores:
distancia([0,0], [1,1])
1.4142135623730951
distancia([1,5], [2,2])
3.1622776601683795
In [ ]:
# Escribir la solución aquí
In [ ]:
# Evaluar la función
Definir una función digitos
que tome un numero x
y retorne los dígitos de que se compone, como cadenas. Por ejemplo, digitos
debe retornar:
digitos(1234)
['1', '2', '3', '4']
digitos(99861)
['9', '9', '8', '6', '1']
Nota: Utilizar los comandos de conversión entre tipos de datos, vistos al final de la sección anterior
In [ ]:
# Escribir la solución aquí
In [ ]:
# Evaluar la función aquí
El material de este notebook fue recopilado para Clubes de Ciencia Colombia 2017 por Luis Henry Quiroga (GitHub: lhquirogan) - Germán Chaparro (GitHub: saint-germain), y fue adaptado de https://github.com/PythonBootcampUniandes