Tema 19. Inmunología y el sistema inmunitario 2024
Clase 2/4 Curso Introducción a Python 2012
1. Repaso
Otros tipos de datos
Repaso
Clase
Excepciones
Curso de Introducción a Python
Clase 2
Defossé Nahuel, Pecile Lautaro
UNPSJB
Agosto 2012
Defossé Nahuel, Pecile Lautaro Curso de Introducción a Python
2. Repaso
Otros tipos de datos
Repaso
Clase
Excepciones
En la clase anterior vimos
cómo definir una función
cómo definir una clase
que los parámetros de las funciones podían tener valores por
defecto
que los bloques estaban delimitados por la indentación
que los comentarios se marcan con #
que las cadenas se delimitan con comillas simples, dobles o
triples
que las listas se delimitan con corchetes, y son dinámicas
Defossé Nahuel, Pecile Lautaro Curso de Introducción a Python
3. Repaso
Otros tipos de datos
Repaso
Clase
Excepciones
que en Python hay referencias a objetos en la memoria que se
agrupan en el espacio de nombres
que los métodos de una clase llevan explícito el primer
parámetro llamado self
que la si la primer línea de una función (o método) es una
cadena, se la toma como documentación.
cómo abrir, leer, escribir y cerrar archivos
Defossé Nahuel, Pecile Lautaro Curso de Introducción a Python
4. Repaso
Otros tipos de datos
Diccionarios
Clase
Excepciones
Diccionarios
Los diccionarios son tipos de datos que asocian clave = valor .
Donde clave puede ser tipo de datos inmutable (enteros, cadenas,
conjuntos, tuplas) y valor cualquier cosa.
a = {}
a[’nombre’] = ’pedro’
a[’edad’] = 23
# Tambien podemos crearlo con el tipo
b = dict()
Defossé Nahuel, Pecile Lautaro Curso de Introducción a Python
5. Repaso
Otros tipos de datos
Diccionarios
Clase
Excepciones
Iteracción de diccionarios
Así como con listas podemos iterar de esta manera:
lista = ["hola", "mundo", "python"]
for valor in lista:
hacer_algo(valor)
Si hacemos esto con un diccionario, recorremos solo las claves.
Para que podamos iterar de a par clave, valor:
for clave, valor in a.iteritems():
print clave, "=>", valor
Defossé Nahuel, Pecile Lautaro Curso de Introducción a Python
6. Repaso
Otros tipos de datos
Diccionarios
Clase
Excepciones
Otras formas de usar un diccionario
Podemos iterar sobre las claves o valores con los métodos
iteritems() o iterkeys().
También podemos preguntar si tenemos una clave en un diccionario.
if ’nombre’ in un_diccionario:
print "Tengo nombre y vale", un_diccionario[’nombre’]
Defossé Nahuel, Pecile Lautaro Curso de Introducción a Python
7. Repaso
Otros tipos de datos
Módulos
Clase
Excepciones
Módulos
Un módulo es simplemente un archivo con extensión .py que
contiene código Python. Es la forma básica de agrupar código en
Python.
El nombre del módulo es el nombre del archivo.
Si la primer línea que no es un comentario es una cadena, se la
tomará como la documentación del módulo.
En la primer línea también podemos especificar la codificación
del módulo.
Defossé Nahuel, Pecile Lautaro Curso de Introducción a Python
8. Repaso
Otros tipos de datos
Módulos
Clase
Excepciones
Importando módulos
Un módulo se incorpora a nuestro espacio de nombres con la
palabra reservada import.
Los módulos se cargan (interpretan) una sóla vez, aunque sólo
importemos parte de ellos.
Si realizamos un cambio a un módulo mientras está
importado, deberemos aplicar los cambios recargándolo. Esto
se realiza con la función reload()
Defossé Nahuel, Pecile Lautaro Curso de Introducción a Python
9. Repaso
Otros tipos de datos
Módulos
Clase
Excepciones
También podemos importar partes específicas de un módulo
mediante from <modulo> import <nombre>
Es importante mantener limpio nuestro espacio de nombres.
Defossé Nahuel, Pecile Lautaro Curso de Introducción a Python
10. Repaso
Otros tipos de datos
Módulos
Clase
Excepciones
Podemos “ejecutar” un módulo como si fuese un programa,
consultando si nuestro módulo se llama “__main__”.
Defossé Nahuel, Pecile Lautaro Curso de Introducción a Python
11. Repaso
Otros tipos de datos
Módulos
Clase
Excepciones
El main de C/Java en Python
import sys
def main(args=sys.argv):
print "El main"
if __name__ == "__main__":
sys.exit(main())
De esta manera,
Fijamos los argumentos de main con los argumentos que pase
el usuario
Evitamos que la importación ejecute a main
Devolvemos la salida como código de salida para entrnos
UNIX.
Defossé Nahuel, Pecile Lautaro Curso de Introducción a Python
12. Repaso
Otros tipos de datos
Clase
Excepciones
Excepciones
Una excepción es un estado anómalo del programa, detectado
por Python en tiempo de ejecución.
Una excepción lanzada debe ser capturada por alguien dentro
de la pila de llamadas.
Por defecto, Python muestra el mensaje de la excepción y
detiene la ejecución si nadie la captura.
Defossé Nahuel, Pecile Lautaro Curso de Introducción a Python
13. Repaso
Otros tipos de datos
Clase
Excepciones
Para manejar excepciones, Python brinda la estructura de control
try/except/else/finally.
en el bloque try se intentará ejecutar código que puede lanzar
excepciones.
en el bloque except se encuentra el código para manejar un
tipo de excepción determinado. Pueden existir múltiples
bloques except. Se ejecuta el primer bloque que corresponda
a la jerarqúa de la excepción.
el bloque else contiene código que se ejecutará en caso de
que no ocurra ninguna excepción.
el bloque finally se ejecutará en cualquier caso.
Defossé Nahuel, Pecile Lautaro Curso de Introducción a Python
14. Repaso
Otros tipos de datos
Clase
Excepciones
Ejemplo
try:
hacer_algo()
except ValueError:
print "Algo no me gusto"
except IndexError as err:
print "Paso %s" % err
finally:
print "Me ejecuto siempre"
Defossé Nahuel, Pecile Lautaro Curso de Introducción a Python
15. Repaso
Otros tipos de datos
Clase
Excepciones
Ejemplo
# En el cuerpo de alguna funcion
try:
hacer_algo()
except AlgoSalioMalException:
print "Algo no me gusto"
return False
else:
return True
Defossé Nahuel, Pecile Lautaro Curso de Introducción a Python
16. Repaso
Otros tipos de datos
Clase
Excepciones
Las excepciones son objetos también. Mas específicamente,
son instancias de Exception o alguna de sus subclases.
class MiExcepcion(Exception):
pass #
Las excepciones instanciadas se pueden lanzar con la palabra
reservada raise.
if "funcionaa!" in sys.argv:
raise MiExcepcion("Mal chabon, mal")
Defossé Nahuel, Pecile Lautaro Curso de Introducción a Python