Colab de la Práctica 9 en blanco (haz una copia y renombra con el formato Práctica_X_tunombre_tucurso)
TIEMPO DE VÍDEO DE LA PRÁCTICA 92 minutos
TIEMPO PREVISTO DE REALIZACIÓN DE LA PRÁCTICA 6 Clases
Instalar Paquetes (10:51)
Módulos y Paquetes (13:22)
Manejo de Errores (13:16)
Hemos visto en la lección de qué manera se implementa el manejo de errores habitualmente en Python. En el caso de este ejercicio, sin embargo, necesitaré que lo hagamos de una forma ligeramente distinta para que pueda ser evaluado: deberás implementarlo DENTRO de la función. En forma de comentario, verás un ejemplo de resolución. Ten presente, sin embargo, que la forma preferida es la que hemos visto en clase.
Práctica 9.3.a.
Implementa para la siguiente función suma(), un manejador de errores simple que ante cualquier error, imprima en pantalla el mensaje: "Error inesperado". En caso contrario, deberá limitarse a mostrar el resultado de la suma entre los dos números.
Práctica 9.3.b.
Implementa para la siguiente función cociente(), un manejador de errores:
Ante un error de tipo (ValueError), debe imprimir en pantalla el mensaje: "Los argumentos a ingresar deben ser números"
Si se generara una división por cero (error del tipo ZeroDivisionError), el mensaje mostrado debe ser: "El denominador no puede ser cero"
En caso que no se produzca un error, deberá limitarse a imprimir el resultado del cociente (división) entre los dos números entregados como argumento.
Práctica 9.3.c.
Implementa un manejador de errores dentro de la siguiente función, abrir_archivo():
En caso de que el archivo que se intenta abrir no pueda ser hallado (FileNotFoundError), mostrar en pantalla el mensaje: "El archivo no fue encontrado"
En caso de que otro tipo de error ocurra, mostrar el mensaje: "Error desconocido"
Si no se produce ningún error, imprimir en pantalla: "Abriendo exitosamente"
En todos los casos, al finalizar, imprimir: "Finalizando ejecución"
Buscar Errores con Pylint (10:08)
Práctica 9.4.a. - Ejercicio para hacer en casa.
Instala Pylint en tu ordenador siguiendo el procedimiento mostrado en clase.
Descarga el módulo de Python llamado practica_pylint.py, almacénalo en una carpeta y evalúalo utilizando Pylint desde tu consola. Observarás que recibe un puntaje muy bajo debido a que contiene varias infracciones a las recomendaciones de estilo PEP 8.
Analiza el reporte obtenido, así como tus conocimientos de Python y las recomendaciones de tu IDE (PyCharm, o aquel que utilices) para implementar las mejoras necesarias y llegar a un mejor puntaje. Fíjate como objetivo alcanzar una puntación mayor o igual a 7.00.
Puedes comparar tu solución descargando un módulo con una alternativa resuelta de esta actividad, que también se encuentra adjunta como recurso de esta lección, con el nombre posible_solucion_pylint.py. No te preocupes si tu solución no es exactamente igual, mientras estés satisfecho/a con los resultados alcanzados (¡tu solución puede ser incluso mejor!).
Probar el Código con Unittest (8:50)
Decoradores (14:37)
Generadores (10:31)
Práctica 9.7.a.
Crea un generador (almacenado en la variable generador) que sea capaz de devolver una secuencia infinita de números, iniciando desde el 1, y entregando un número consecutivo superior cada vez que sea llamada mediante next.
Práctica 9.7.b.
Crea un generador (almacenado en la variable generador) que sea capaz de devolver de manera indefinida múltiplos de 7, iniciando desde el mismo 7, y que cada vez que sea llamado devuelva el siguiente múltiplo (7, 14, 21, 28...).
Práctica 9.7.c.
Tienes tres clases de personajes en un juego, los cuales cuentan con sus métodos de defensa específicos.
Crea una función llamada personaje_defender(), que pueda recibir un objeto (una instancia de las clases de tus personajes), y ejecutar su método defender() independientemente de qué tipo de personaje se trate.