Curso de programación en Python usando Linux. Décima parte
En el capítulo anterior de este curso de programación en Python usando Linux hablamos de las funciones, pequeños programas para tareas específicas que podemos reutilizar tanto en la aplicación que estamos escribiendo como en otras quenecesiten realizar esa tarea.
Un tema que debemos tener presente cuando trabajamos con funciones es cómo interactúan con otros componentes del programa como variables, listas, tuplas y diccionarios.
Curso de programación en Python usando Linux
Lo que debemos tener en cuenta cuando trabajamos con funciones es que hay variables, listas y diccionarios que serán utilizadas por todo el programa y otras que son utilizadas solo por la función para la cuál están definidas.
Variables
Esta es la diferencia entre una variable definida globalmente y otra localmente
La variable distro se define al principio del progra y la función mostrar la usa. Tambíen podría usarla otra función creada para agregarla a una lista.
Como la variable está definida dentro de la función, si intentamos invocarla desde otra parte del código, obtendremos un mensaje de error.
Es posible modificar una variable global para todo el programa usando el comando global.
Este programa asigna Ubuntu a la variable distro y luego crea una función en la que se le indica que modifique una variable global cambiando el nombre por Debian. Luego invoca a la función para que haga el cambio de nombre.
Listas
Podemos agregar o quitar elementos de una lista creada en forma global desde una función. Este programa por ejemplo agrega un elemento a la lista distros.
Se llama reasignación a crear dentro de una función una lista que lleva el mismo nombre que la global. Veamos este ejemplo:
Como vemos. Cuando invocamos la función imprime la lista definida dentro de la función, mientras que fuera de la función imprime la lista creada originalmente.
Tuplas
Las tuplas son inmutables por lo que solo podemos hacer dos cosas
1) Crear una tupla local con el mismo nombre que una global.
2) Reemplazar una tupla.
Dentro de la función agregamos la indicación global que le indica que vamos a reemplazar la tupla que definimos al principio.
Diccionarios
Los diccionarios son mutables por lo tanto podemos modificar sin problemas uno definido globalmente.
Si miran con atención, notarán que dentro de la función utilizamos corchetes para indicar el elemento que se modifica y la modificación en lugar de las llaves que es lo que usan los diccionarios para definir su contenido.
Funciones con o sin parámetro
Cuando llamamos a una función es posible asignarles un parámetro específico.
Este es un ejemplo de función sin parámetro
Y este es un ejemplo de una función a la que le decimos que actúe sobre un parámetro específico
Podemos establecer diferentes tipos de parámetros:
- def funcion(): La función no necesita ningún parámetro.
- def funcion(distro): Se e asigna como parámetro el contenido de la variable distro.
- def funcion(distro=»Ubuntu»): Se le asigna a la función el parámetro Ubuntu pero puede reemplazarse por otro definido por el usuario.
- def funcion(*args): Podemos usar varios parámetros.
Ya dimos ejemplos de los dos primeros pará,etrps- Veamos un ejemplo de los otros dos.
Este programa le asigna por defecto el parámetro Ubuntu a la función. Cuando llamamos a la función sin asignarle parámetro, hace la comprobación para Ubuntu. El siguiente llamado lo hace para Debian que está en la lista y el tercero a Arch Linux que no lo está.
¿Qué pasa si queremos probar varios parámetros con un solo llamado?
De esta forma ponemos la lista de parámetros en una tupla.
También es posible usar como parámetros listas, tuplas y diccionarios
Listas
Tuplas
Diccionario
Item es un método interno de Python que nos permite mostrar todos los pares clave /valor.
La sentencia return
Normalmente, los resultados de la ejecución del código dentro de la función no están disponibles para otras partes del programa. Esto puede corregirse con la instrucción return que además marca el fin de la ejecución de la función y la continuación con lo que sigue del programa. Veamos el siguiente ejemplo:
El uso de la instrucción return guarda el resultado del código para un uso posterior y detiene la ejecución del código.Este programa le pide al usuario que ingrese el nombre de una distribución y guarda el resultado de la compraración en una variable para un uso posterior.
Comentarios al código
Cuando escribimos un código extenso y debemos volver a revisarlo o necesitamtos que otra persona lo haga debemos documentarlo, es decir incluir explicaciones sobre que hace cada parte del código. Es posible escribir comentarios simples precedidos del signo #
# El comando print muestra en pantalla un texto o el contenido de una variable
Pytnon entenderá que el texto que sigue al signo # no es parte del código y no intentará ejecutarlo.
Aunque tecnicamente no son comentarios sino cadenas de texto que no se asignan a una variable y no se recomienda utilizarlas, es posible escribir información entre 3 comillas que el programa ignorará.
«»»
El comando print imprime un texto en pantalla.
Las listas son grupos de elementos,
Las funciones son pequeños programas que cumplen una tarea y puden ser reutilizadas. ,
Las tuplas son inmutables.
«»»
Pero, como dijimos lo recomendado es escribir el signo numeral a principio de cada línea.
# El comando print imprime un texto en pantalla.
# Las listas son grupos de elementos,
# Las funciones son pequeños programas que cumplen una tarea y puden ser reutilizadas. ,
# Las tuplas son inmutables.
Las características de los comentarios son:
- Sirven para explicar partes concretas del código.
- Son ingorados por el programa una vez interpretados.
- No se pueden leer desde el propio código en el tiempo de ejecución
En el caso de las funciones, objetos, clases, métodos y módulos (Hablaremos de los módulos en próximos artículos ) es posible usar los docstrings. Estos son cadenas de texto que se ubican al comienzo de una función y explican de forma sintética para que sirve la función, que parámetros recibe y que valores almacena. Para que Python la identifique como un docstrings, el texto debe escribirse con 3 comillas al principipio y al final.
El el próximo artículo vamos a explicar cómo se usan los docstrings.

