Curso de programación en Python usando Linux. Novena parte
Aunque en este curso de programación en Python usando Linux hemos evitado todo lo que pudimos el insoportable primer programa que muestra en pantalla ¡Hola mundo! y la prescindible historia del lenguaje, era inevitable que tuviéramos que dedicar un par de artículos a lo básico antes de inernarnos en cosas más complejas.
En este hablaremos de los recursos que ofrece Python para la creación de programas en los que la interacción con el usuario obliga a tener en cuenta diferentes alternativas.
Curso de programación en Python usando Linux
Control de flujo
La mayoría de los programas que utlizamos tienen que ofrecer alternativas a los usuarios. Si intentas cerrar la ventana del navegador cuando esás descargando un archivo, este te muesra una ventana avisándote y preguntand si quieres cerrarlo o no. Ya sea que contestes en forma afirmativa o negativa, los programadores deben incluir en el código instrucciones sobre cómo actuar en cada caso.
La base de ese tipo de instrucciones en Pyhon es el comando if que le indica al programa que si se cumle determinada condición debe ejectar cierto bloque de código o en caso contrario contnuar con el siguiente. Para usar el comado if debemos tener presente:
- Requisito: Es cualquier afirmación que Python pueda determinar que es verdadera o falsa como mayor, menor, igual o distinto.
- Dos puntos al final de la condicion: se usan para indicarle al programa que lo que sigue es el bloque de códig que debe cumplirse en caso de que se cumpla la condición.
- Indentación: Como explicamos en artículos anteriores, Python es muy sensible a la posición en la que se ponen los bloques de código. La primera letra de la primera línea del bloque de código debe estar a 4 espacios del margen del editor de código o a una pulsación de la tecla de tabulación,
Este programa te pide que pongas el nombre de una distribución Linux. Si escribes Ubuntu te muestra el mensaje de que ingresaste Ubuntu. Si no imprime el mensaje de fin del programa.
Aunque podríamos dejar que el programa siguiera su curso con primer bloque de código que encuentre no listado bajo if, es mucho más práctico por cuestiones de prolijidad y versatliidad indicarle específicamente que hacer en caso de que no se cumpla la condición. Esto se hace con el comando else.
Else no nececita condición y en la indentación se coloca alineado con if mientras que la prmera letra de la primera línea del código que debe ejecutar va a cuatro pulsaciones de la barra espaciadora o una pulsación de la tecla de tabulación.
Pero algunas veces no basta con dos alternaivas y se necesita algo mas complejo. if y Else bastarían por ejemplo para contestar SI o No. Pero ¿Que pasa si hubiera otras alternativas?.
El comando elif se coloca inmediatamente abajo de if y establece la comprobación de una condición que solo se hace si la establecida en if no se cumple. Pueden establecerse tantas condiciones con elif como se quiera. En caso de que ninguna se cumpla se ejecuta el bloque de código esablecido bajo else En caso de cumplirse alguna se ejecutta el bloque de código inmediatamente abajo de ella.
Recuerda la regla de los espacios o la tecla Tab para el código que debe cumplirse en caso de que se de la condición.
Elif se se usa cuando:
- Hay al menos dos condiciones mutuamente excluyentes que pueden ser válidas.
- Por cuestiones de legibilidad del codigo no queremos abusar de los bloques if.
Con el uso del lenguaje, los desarrolladores de Python descubreron que elif tampoco resolvía los problemas en caso de que la cantidad de condiciones a revisar fuese grande por lo que agegaron la instrucción match. Esa instrucción compara el valor de una variable con dferentes opciones para esto se le asigna un valor de cualquiera te los tipos soportados por Python y se lo va comparando con diferentes opciones establecidas con la instrucciión case. En caso de cumplirse alguna se ejecuta el bloque de código correspondiente. Si o se sigue con el programa.
Una vez más te pido que tengas en cuenta el tema de la indentación
Uso de funciones
Supongamos que estás programando una suite ofimática. Tienes un procesador de textos, un programa de planilla de cálculo y un editor de presentaciones. Aunque los 3 programas hacen cosas diferentes tienen tareas comunes como abrir o guardar archivos o mprimir documentos. En este caso ahorraría mucho tiempo que en en lugar de escribir el código que haga la misma tarea en cada programa, pudieras reutilizar el que ya tenías. Al bloque de código que hace una tarea específica se lo llama función.
En los artículos anteriores vimos que Python trae algunas funciones predefindas, pero también podemos crear las nuestras asignándoles nombres, indicándoles que deben hacer y estableciendo a que datos pueden tener acceso Esas funciones podemos utilizarlas en otras aplicaciones simplemente pegando e codigo.
Las fnciones en Python se definen con la instrucción def seguidas del nombre de la funcion seguido de un paréntesis de apertura y cierre A continuación se coloca el bloque de código que ejecuará la función respetando siempre las reglas de indentación
Cuando queremos ejecuar la función solo ponemos el nombre de la misma seguido de los dos paréntesis. Si te estás preguntando que función cumplen los paréntesis, los usaremos cuándo necesitemos que la función trabaje con datos.
En este programa convertimos el programa anterior en una función que llamamos después de pedirle al usuairo que ingrese el nombre de una distribución
Las funciones son lo suficietemente versátiles para suministrar parámetros por defecto, esto es aquelolos que se usarán a menos que se indiquen otros.
Por convención para nombrar a las funciones se utilizan palabras en mínúsculas separadas por guiones bajos y que sean descriptivas de lo que hace la función. Em el próximo artículo veremos de que forma afectan el uso de funciones a variables, listas y tuplas y cómo pasarles parámetros por defecto para el caso de que el usuario no los ingrese como se lo pedimos.

