¿Quieres seguir aprendiendo sobre Python? Pues no se diga mas y bienvenido a la segunda parte del tutorial de Introducción a Python para Principiantes. En donde seguiremos aprendiendo y sorprendiéndonos mas y mas sobre este poderoso lenguaje de programación.
Python para Principiantes – Parte 2
[wp-svg-icons icon=»indent-decrease» wrap=»i»] Funciones
Primero que nada, empecemos con un poquito de teoría, sobre el tema de las funciones en Python, de las cuales podríamos decir que son fragmentos de código a los cuales se les da un nombre (para luego ser llamados fácilmente) que realiza una serie de tareas y que al final del proceso, esta retorna un valor.
Hay que tomar en cuenta que aquellos fragmentos de código que no tienen un nombre asociado a ellos y que tampoco retornan algún valor, son denominados procedimientos. Pero en el caso de Python, los «procedimientos» no existen, ya que, cuando un programador no especifica un valor de retorno, la función por defecto retorna None, lo que en Java seria el equivalente a Null.
Además de todo esto, las funciones también nos permitirán organizar mejor nuestro código fuente, segmentándolo en partes (funciones) lo que además de organización, nos permitirá reutilización de código.
Básicamente en Python una función se declara como se muestra a continuación:
def mi_funcion(param1, param2): print param1 print param2
En conclusión, seria la palabra clave def seguida del nombre que se le quiera dar a la función y entre paréntesis especificamos los argumentos, los cuales deben de ir separados por comas en el caso de que sean mas de uno, luego en la otra línea seguida de los dos puntos y de manera indentada, estarían las líneas de código que conforman la función como tal.
También podemos encontrarnos con el caso de la declaración de una función que incluye una cadena de texto como la primera línea del bloque que conforma el cuerpo de la misma. Dicha cadena es conocida como docstring o cadena de documentación, la cual hace las veces de la documentación de la función, explicando puntualmente lo que esta hace.
def mi_funcion(param1, param2): """Funcion que imprime los dos parametros pasados""" print param1 print param2
Llego la parte que a todos les gusta, en donde nos ensuciamos las manos probando nuestro código. Para ello debes de crear un archivo llamado funcion1.py el cual tendrá el siguiente contenido:
def funcion1(param1, param2): """Funcion que imprime los dos parametros pasados""" print "Primer parametro: "+param1 print "Segundo parametro: "+param2 funcion1("Hola","Mundo")
Ahora procedemos a ejecutar nuestro archivo funcion1.py de la siguiente manera:
python funcion1.py
Si todo ha salido correctamente, nuestra salida ha de ser similar a esta, mostrará el ya archi popular Hola Mundo:
En este ejemplo hay que destacar el llamado a la función por su nombre en la última linea de código del archivo «funcion1.py», en donde tal cual como lo habíamos comentado en un principio, el bloque de tareas al cual hemos llamado «funcion1» es llamado por su respectivo nombre proporcionándole sus respectivos parámetros.
[wp-svg-icons icon=»list» wrap=»i»] Funciones y Parámetros
Como hemos visto anteriormente, al momento de llamar a las funciones debemos de pasarle a éste sus respectivos parámetros, los cuales serán utilizados dentro del cuerpo de la función. Pero también podemos asignar valore por defecto a los parámetros, lo cual hace bastante dinámico el llamado a las diferentes funciones que desarrollemos.
Así que manos a las obras y veamos como se programaría lo de los parámetros con valores por defecto. En esta ocasión crearemos un archivos llamado funcion2.py con el siguiente contenido:
def imprimir(texto, cantidad = 1): print cantidad * texto imprimir ("GuiaDev.com", 5)
Es muy cierto que anteriormente hemos pasado ambos parámetros (texto y cantidad), pero que no cunda el pánico… ya que esto lo hicimos con el principal objetivo de demostrar la versatilidad de los parámetros. Si todo sale bien, debemos de obtener un resultado domo el que se muestra a continuación:
Donde se imprime (5) veces «GuiaDev.com» ya que le especificamos vía parámetros que se requería 5 veces impreso. Ahora veremos que pasa si no se le pasa el parámetro de «cantidad», para lo que procederemos a editar nuestro archivo «funcion2.sql», para que quede de la siguiente manera:
def imprimir(texto, cantidad = 1): print cantidad * texto imprimir ("GuiaDev.com")
Al momento de ejecutarlo, debemos de obtener un resultado similar al siguiente:
En donde podremos apreciar que solamente se imprime por pantalla una sola vez «GuiaDev.com», ya que al no ser especificado el parámetro «cantidad» este asume el valor por defecto que anteriormente hemos declarado, el cual es 1.
[wp-svg-icons icon=»cogs» wrap=»i»] Mas sobre las Funciones y Parámetros
En los ejemplos anteriores hemos pasado hasta 2 parámetros como máximo, esto no significa de que este sea el límite, pero debemos de tomar en cuenta el hecho de que a mas parámetros, mas declaraciones de estos deben de hacerse, pero en el siguiente ejemplo, veremos como declarar dinámicamente muchos parámetros.
Para este ejemplo necesitaremos crear el archivo funcion3.py con el siguiente contenido:
def variosParametros(param1, param2, param3, *otros): print "Primer Parametro: %s" % param1 print "Segundo Parametro: %s" % param2 print "tercer Parametro: %s" % param3 print "Y el resto ... %s" % list(otros) variosParametros(1, 2, 3, 4, 5, 6, 7, 8)
Analizando el ejemplo, este recibe 3 parámetros fijos (param1, param2 y param3) los cuales reciben como valores (1, 2 y 3) y como parámetros extras tenemos los valores (4, 5, 6, 7 y 8), los cuales serán almacenados dentro de «otros».
Así que si todo sale correctamente, debemos de obtener una salida similar a la siguiente:
[wp-svg-icons icon=»loop-3″ wrap=»i»] Retornando Valores
Hasta el momento nuestros ejemplos han impreso información por pantalla, pero una función también tiene la capacidad de retornar un valor, como por ejemplo un cálculo que la función efectúe.
Para ver esto en vivo y directo, crearemos un archivo llamado funcion4.py, el cual contendrá el siguiente contenido:
def calculo(param1, param2): res = param1 + param2 return res print calculo(11,33)
Esta vez, recibimos 2 parámetros los cuales son param1 y param2, la variable «res» almacenará el resultado de la suma de ambos parámetros, para luego ser retornada mediante la palabra clave «return», pudiendo ser impreso el resultado de la suma cuando es llamada la función «calculo». En donde si todo resulta positivo, debemos de obtener un resultado similar al siguiente:
[wp-svg-icons icon=»insert-template» wrap=»i»] Funciones dentro de Funciones
Pero ahora pongamos las cosas mas interesantes, ya que desde una función, llamaremos a otra función y veremos que pasa. Si te gusto la idea entonces crea un archivo llamado funcion5.py con el siguiente contenido, en donde reutilizaremos nuestra anterior función «calculo»:
def calculo(param1, param2): resultado = param1 + param2 return resultado def imprimir(): print calculo(20,15) imprimir()
En el anterior ejemplo podemos apreciar dos cosas bastante particulares, las cuales son que primero que nada como lo comentamos anteriormente, hemos llamado a una función dentro de otra función (dentro de la función «imprimir» se llama a la función «calculo») y lo segundo, es que la función «imprimir» no tiene parámetros, lo cual también es posible codificar.
Pero es momento de ver los resultados, los cuales si todo salio bien, deben de ser similares a los siguientes:
Conclusión
Al finalizar la parte 2 de este Tutorial de Python para Principiantes hemos ampliado mucho mas nuestros conocimientos sobre el lenguaje de programación Python explorando y conociendo las funciones, parámetros y valores. Si quieres seguir aprendiendo sobre Python sugerimos que estés atento a esta serie de tutoriales los cuales están hechos especialmente para ti que quieres aprender a programar en Python.
Síguenos de cerca pues en breve publicaremos: Introducción a Python para Principiantes Parte 3.