En verdad es más fácil pedir perdón que permiso
Abstract
Python usa excepciones más que otros lenguajes porque "es más fácil pedir perdón que permiso". Veremos cómo y por qué la manera Pythonico de funcionar no es rara, imprudente o ineficiente, sino una parte integral de Python, que hace código más expresivo, más flexible y sí más Pythonico y eficiente.
Description
Es una máxima pythonica que "es más fácil pedir perdón que permiso" y escribimos código pythonico con una preferencia para intentar hacer una operación y después lanzar una excepción si ocurre un error. Esto contrasta con muchos otros lenguajes que tienden a pensar antes de actuar ("look before you leap") y comprueban condiciones, tipos, y valores antes de intentar una operación.
Esta tendencia a usar excepciones parece a programadores de otros lenguajes (y varios Pythonistas también) rara, imprudente e ineficiente. ¿Seguramente sería mejor comprobar un poco las cosas y evitar errores? ¿Deben usarse las excepciones con tan frecuencia? El uso del tantas excepciones hace que el código sea lento e ineficiente?
Esta charla atenderá a estas preocupaciones. Mostraremos cómo y por qué el funcionamiento de Python es una fortaleza, y no una debilidad, que hace Python más expresivo y flexible. Veremos también cómo lanzar excepciones (incluso las que no parecen excepciones) es una parte integral de Python y subyace a muchas características del lenguaje. Finalmente, veremos algunas pruebas simples que muestran que el uso pythonico de excepciones es una parte importante del código pythonico eficiente.
Tabla de contenido
- Introdución : 2 minutos
- Cómo se manejan errores en otros lenguajes : 3 minutos
- Excepciones normales en Python : 8 minutos
- Estructura tipica
- Herencia
- Mejores prácticas
- Excepciones sorprendentes (o "excepcionales") - ejemplos y explicaciones de excepciones que no se conocen como excepciones : 10 minutos
- Iteración
- Lectura de archivos
- En generadores
__getattribute__
y__getattr__
- Rendimiento de excepciones : 5 minutos
- Conclusión : 2 minutos
- Preguntas : si el tiempo lo permite