Curso de Python VIII

python_header

En la anterior entrada vimos la lectura y escritura de archivos txt usando una función. Adelantábamos que una función contiene un bloque de código pero en esta lección veremos que nos puede aportar algo más.

Funciones en Python

Las funciones forman una parte básica de la sintaxis en todos los lenguajes de programación. Hasta ahora hemos ido poniendo las instrucciones línea a línea para que se ejecuten sistemáticamente, pero al querer hacer la misma instrucción dos veces teníamos que volver a escribir lo mismo, ensuciando el código y volviendo un poco más ilegible nuestro preciado código fuente.

Las funciones se definen con def nombreFuncion(): y siguiendo con su tabulación el código que formaría dicha función. Recordemos que en Python con respecto a otros lenguajes de programación se eliminan las llaves, por lo que para saber que parte está dentro de una función, if o bucle se necesita tabular. Veamos un ejemplo:

python2

Aclaradas las tabulaciones que necesitamos para indicar que está dentro de la función y que no, vamos a ver como se definen las funciones

python3 python4

Cada vez que queramos sumar 3+5 podríamos llamar a la función sumar() e imprimiría el resultado automáticamente. Podría servirnos pero para realizar diferentes sumas necesitaríamos crear más funciones. Esto se soluciona usando los argumentos que las funciones pueden recibir entre sus paréntesis (función(argumentos)). Posteriormente devuelven el resultado con la palabra return. Veamos un ejemplo gráfico para ver su sencillez:

python5 python6

Como vemos, indicándole el número de argumentos que recibe la función(separados por una coma cada vez) podemos hacer con ellos lo que queramos. He puesto a y b pero podría haber puesto cualquier cosa para luego indicar en su interior que deben hacer. Veamos un ejemplo con 4 argumentos:

python7

ython8

Campo de las variables

Algo que suele llevar a la confusión es el alcance de las variables cuando entran a jugar las funciones, pero que prestando un poco de atención no debería haber mayor problema. Solo tienen dos detalles:

Las variables declaradas fuera de las funciones pueden ser usadas dentro de éstas. Ejemplo:

python9

python10

Las variables declaradas dentro de las funciones no pueden ser usadas fuera de éstas. Ejemplo:

python11 python12

Para solucionar ésta última cuestión podemos hacer la variable global, la cual se podría usar la variable fuera de la función en la que fue creada. Ejemplo:

python13 python14

En teoría la línea 9 dice que debe imprimir la variable nombre que contiene ‘Pepe‘, pero al hacer la variable global dentro de la función y actualizar su contenido a ‘Juan‘, termina imprimiendo éste. Es importante que ejecutemos la función (línea 8 del ejemplo) para que se ejecute su interior porque de lo contrario ocurriría esto:

python15 python16

Resumen

Resumiendo, las funciones pueden retornar valores o no (return) y pueden recibir argumentos o no. Es importante tener controlado el alcance de las variables en todo momento y acostumbrarnos a agrupar código usando las funciones.

Un salu2!

 

Curso de Python I
Curso de Python II
Curso de Python III
Curso de Python IV
Curso de Python V
Curso de Python VI
Curso de Python VII
Curso de Python VIII
Curso de Python IX
Curso de Python X
Curso de Python XI
Curso de Python XII
Curso de Python XIII
Curso de Python XIV