Programación en python

¿Qué es python y por qué utilizarlo?

  • python es un lenguaje de programación de sintaxis sencilla o al menos similar a la sintaxis del inglés
  • actualmente es uno de los lenguajes más utilizados en análisis de datos y particularmente en Bioinformática
  • este lenguaje se enseña en la asignatura INFORMÁTICA APLICADA A LA BIOQUÍMICA del grado de Bioquímica de la UGR por lo que los alumnos ya deben estar familiarizados con él
  • aunque la línea de comando nos será útil para muchos problemas sencillos y rápidos, para problemas más complejos suele ser preferible usar un lenguaje de programación. Además, los scripts que generemos son “portables”, es decir, deberían funcionar también en otro sistema siempre que tenga el intérprete de python

Contenido voluntario de repaso NO EVALUABLE: Hemos preparado un “Curso 0” en python para refrescar un poco lo aprendido en la asignatura antes mencionada. Si eres capaz de seguir los ejercicios propuestos sin problema puede que no sea necesario para ti pero está disponible para repasar contenido de forma voluntaria.

Enlace a Curso 0

Empezamos saludando al mundo

Para empezar, necesitaremos crear un fichero para el script (los scripts de python tienen la extensión “.py”). Este fichero podemos editarlo con cualquier editor de texto aunque recomendamos alguno que incorpore alguna funcionalidad específica para programar como por ejemplo Notepad++ o SublimeText (hay muchos otros y podéis usar el que queráis).

El primer programa suele ser un “Hola mundo” para demostrar cómo podemos hacer que python muestre algo por pantalla. Copiad las siguientes líneas al script y ejecutadlo con python3 ruta_al_script (p. ej. hello.py). Recordad que salvo que tengáis instalado python en vuestro ordenador deberéis lanzar el script en el servidor de docencia.

# las líneas con un "#" delante son ignoradas. Se llaman comentario
print("Hello, world!\n") ## escribir en la pantalla. Fíjate que \n no se escribe. Se emplea para indicar nueva línea

Explicaciones

  • con # podemos añadir un comentario (el interprete ignora todo que escribimos despúes del #)
  • fíjate en que “\n” introduce una línea nueva. Busca información sobre qué haría \t

Vídeo con el ejemplo

Leer desde la línea de comando y guardar la información en una variable 

Podemos añadir una línea para capturar cierta información y luego utilizarla en nuestro programa.

print("What is your name?")
name = input() # leer de la entrada por defecto (standard input), normalmente el teclado
name = name.rstrip() # eliminar el salto de línea (si tuviera)
message = "Your name is " + name # con + podemos concatenar (o juntar) dos o más variables
print(message)

Explicaciones

  • hemos almacenado una serie de caracteres en una variable de tipo string o cadena
  • podemos usar el operador + para concatenar cadenas (juntarlas)

Tomando decisiones: estructuras de control

Podemos usar ciertos operadores lógicos para introducir condiciones. Por ejemplo, en el programa que veníamos construyendo, puede ser que queramos dedicar un saludo especial si la persona que lo utiliza es el creador (o un tocayo). Podríamos utilizar if  (si la condición se cumple) y else (si no se cumple):

print("What is your name?") 
name = input() 
name = name.rstrip() 
if name == "Michael": #condición
    message = "Hello, Michael! How good of you to be here!\n" #código que solo se ejecuta si se cumple
else: 
    message = "Hey, hello " + name # código que se ejecuta si NO se cumple

print(message)

Explicaciones

  • Mediante el operador “==” podemos comprobar si dos strings son iguales o no (y en general cualquier variable)
  • con if/else podemos definir qué sucede si se da una condición y qué sucede en caso alternativo
  • para más ejemplos (o ejemplos algo más complejos) podéis consultar el Curso 0 (concretamente la lección 3)

Ejercicios para practicar:

  • ¿cómo modificarías el script anterior para que admitiera como “válido” para la condición un nombre en minúscula? (Pista: busca .lower() )
  • ¿cómo modificarías el script anterior para que admitiera como “válido” cualquiera de los siguientes: Michael, Cristina, Pepe, Chema? (Pista: usar listas y el operador in )
  • ¿cómo modificarías el script anterior para que diera el saludo “especial” a todos menos a Michael y a él un saludo corriente? (Pista: usa  operador ! para negación )

Intenta resolver estos ejercicios solo y/o en grupo. Puede que necesites la ayuda del Curso 0 o de páginas de tutoriales para recordar alguna cosa. Si no es suficiente recuerda que puedes abrir un foro en el PRADO de la asignatura.