Получаем значения из словаря без KeyError
Новички часто сталкиваются с ошибкой KeyError, когда ключа в словаре нет. Вместо проверки через if можно использовать встроенный и безопасный способ.
Используй метод dict.get() — он возвращает значение по ключу или None (или значение по умолчанию), если ключ отсутствует.
🎯 Итог:
dict.get() делает код короче, безопаснее и избавляет от лишних проверок на существование ключей.
Новички часто сталкиваются с ошибкой KeyError, когда ключа в словаре нет. Вместо проверки через if можно использовать встроенный и безопасный способ.
Используй метод dict.get() — он возвращает значение по ключу или None (или значение по умолчанию), если ключ отсутствует.
🎯 Итог:
dict.get() делает код короче, безопаснее и избавляет от лишних проверок на существование ключей.
Аккуратно игнорируем ошибки без try/except
Иногда ошибка — это нормальное поведение программы. Например, файл может не существовать, ключ в кеше — отсутствовать, а удаление временного ресурса — падать. Новички обычно оборачивают такие места в громоздкий try/except, из-за чего код становится шумным и хуже читается.
В Python есть элегантное решение — contextlib.suppress. Он позволяет явно указать, какие исключения нужно проигнорировать, не скрывая логику и не перехватывая всё подряд.
🎯 Итог:
contextlib.suppress делает код чище и честнее: вы явно показываете, какую ошибку считаете допустимой, без лишнего try/except и хака с pass.
Иногда ошибка — это нормальное поведение программы. Например, файл может не существовать, ключ в кеше — отсутствовать, а удаление временного ресурса — падать. Новички обычно оборачивают такие места в громоздкий try/except, из-за чего код становится шумным и хуже читается.
В Python есть элегантное решение — contextlib.suppress. Он позволяет явно указать, какие исключения нужно проигнорировать, не скрывая логику и не перехватывая всё подряд.
🎯 Итог:
contextlib.suppress делает код чище и честнее: вы явно показываете, какую ошибку считаете допустимой, без лишнего try/except и хака с pass.