Check

Идиоматичный код и `EAFP`

Python Senior Яндекс
Что означает принцип `EAFP` (Easier to Ask Forgiveness than Permission) в Python и как он проявляется в реальном коде? Противопоставьте его `LBYL`.
Ответы
EAFP vs LBYL
EAFP — «проще попросить прощения, чем разрешения»: сначала делаем операцию, а потом обрабатываем исключение, если что-то пошло не так. Пример EAFP: ```python try: value = mapping[key] except KeyError: value = default ``` LBYL (Look Before You Leap): ```python if key in mapping: value = mapping[key] else: value = default ``` В Python чаще используют EAFP, так как это лучше согласуется с исключениями и многопоточностью (проверка условия может устареть).