when the prints principios imported python principles

the - python pep8



¿Cuál es el principio de EAFP en Python? (2)

Del glossary :

Es más fácil pedir perdón que permiso. Este estilo de codificación de Python común asume la existencia de claves o atributos válidos y atrapa excepciones si la suposición es falsa. Este estilo limpio y rápido se caracteriza por la presencia de muchas instrucciones try y except . La técnica contrasta con el estilo LBYL común en muchos otros lenguajes, como C.

Un ejemplo sería un intento de acceder a una clave de diccionario.

EAFP:

try: x = my_dict["key"] except KeyError: # handle missing key

LBYL:

if "key" in my_dict: x = my_dict["key"] else: # handle missing key

La versión LBYL tiene que buscar la clave dentro del diccionario dos veces, y también se puede considerar un poco menos legible.

¿Qué se entiende por "usar el principio EAFP" en Python? ¿Podría darnos algún ejemplo?


Yo lo llamo "programación optimista". La idea es que la mayoría de las veces las personas harán lo correcto y los errores deberían ser pocos. Así que codifique primero para que ocurra lo "correcto", y luego capture los errores si no lo hacen.

Mi sensación es que si un usuario va a cometer errores, debería ser el que sufra las consecuencias del tiempo. Las personas que usan la herramienta de la manera correcta se aceleran.