Curso de introducción a la programación en python

Autor: Luis Fernando Apáez Álvarez

Clase 17: Nociones básicas I

La idea detrás de las funciones en Python (y en general de cualquier lenguaje de programación) coincide con la idea de una función matemática. Antes de pasar directo a trabajar con funciones en Python recordemos un poco sobre la teoría de funciones en matemáticas.

Introducción

Una función $f(x)=y$ nos arroja el valor de la ordenada $y$ correspondiente al valor de $x$, donde a $x$ se le conoce como variable independiente y a $y$ variable dependiente. Asimismo, $x$ es el párametro de la función $f$. Por ejemplo, si consideramos la función $f(x)=x^{2}$, podemos asignarle el valor de $2$ al parámetro de la función $f$ y obtener como resultado

$$ f(2)=2^{2}=4 $$

donde la función $f$ sigue la instrucción

"al valor del parámetro lo elevamos al cuadrado"

Otro ejemplo puede ser la función $g(x)=\sqrt{x} + 1$, donde $g$ sigue las instrucciones:

"al valor del parámetro le obtenemos su raíz cuadrada y después le sumamos uno"

donde, por ejemplo, podemos calcular $g(4)=\sqrt{4}+1=2+1=3$. De esta última función podemos recordar el concepto de dominio. El dominio de una función son los valores admisibles que puede tomar la variable independiente $x$. Por ejemplo, de la función $g(x)$ podemos notar que $-4$ no es un valor admisible para el parámetro $x$ pues no existe (dentro de los números $\mathbb{R}$) raíz cuadrada de números negativos.

Por otro lado, también es posible tener funciones multivariadas que reciban más de un parámetro como variables independientes. Por ejemplo la función $h(x,y)=\sqrt{x^{2}+y^{2}}$.

Ahora bien, con base en todo lo dicho anteriormente podemos implementar dichas ideas a las funciones dentro de Python .

Mi primera función en python

Para crear una función en Python utilizaremos la palabra reservada def y la sintaxis básica para crearla es

def nombre_de_la_funcion(lista de parámetros):
    """descripción de lo que hace la función (opcional)"""
    instrucciones
    .
    .
    .

así, podemos pensar las funciones en Python como funciones matemáticas que reciben parámetros de distintos tipos de datos (no sólo numéricos) y que pueden realizar diversas instrucciones (no sólo cálculos numéricos).

Veamos un primer ejemplo de una función que realice un saludo, para ello emplearemos una función sin parámetros:

Cada que llamemos a la función saludo() se ejecutarán las instrucciones que definimos dentro de ella. Pasemos ahora a realizar una función con un parámetro, en este caso será un saludo personalizado:

Donde la función recibe como parámetro un nombre y nos devuelve, mediante una serie de instrucciones, un saludo personalizado. Notemos la importancia de darle un nombre apropiado a nuestra función de acuerdo a lo que hace, además, el nombre del parámetro es importante para saber qué es lo que podemos asignarle a nuestra función; aunque denominamos nombre al parámetro de la función, en realidad podemos escribir cualquier cosa pero siempre es importante escribir el código de una buena forma (y/o aplicando las buenas prácticas) para que otras personas puedan entenderlo o que en un futuro nosotros mismo podamos entenderlo.

Ahora bien, hasta ahora hemos estado trabajando con dos tipos de funciones en Python:

  1. Las funciones predefinidas: son aquellas incorporadas y reservadas en Python. Por ejemplo las funciones print(), input(), etcétera; donde la función print() recibe como parámetro un tipo de dato y realiza la instrucción de mostrar ese dato en la consola de salida; la función input() recibe como parámetro un tipo de dato y realiza como instrucción el almacenamiento de dicho dato.
  2. Las funciones definidas por el usuario: son aquellas que nosotros definimos y/o creamos.

Podemos crear una función de varios parámetros para mejorar el saludo personalizado

Básicamente es así como podemos trabajar con las funciones en Python, es importante recalcar que las funciones en programación no sólo se ocupan en un contexto matemático, sino que podemos realizar muchas otras instrucciones y crear una gran diversidad de funciones, tal es el caso de las funciones que definimos anteriormente.

Ahora, para que la idea quede un poco más clara veamos ejemplos de funciones matemáticas en Python. Definamos la función $f(x)=x^{2}$ como

luego, podemos hacer la evaluación $f(2)=2^{2}=4$ llamando a nuestra función

También podemos tener una función (matemática) multivariable $g(x,y)=\sqrt{x^{2}+y^{2}}$

Veamos ahora otro ejemplo de función. Lo que realizaremos será crear una función que convierta un cierto número de grados en radianes (Recuerda que $180^{\circ}$ equivale a $\pi$ radianes y para realizar las conversiones correspondientes utilizamos la unidad $\frac{\pi}{180^{\circ}}$).

Socialmedia.PNG