Объединение словарей без update()
Нужно быстро объединить два словаря, не изменяя исходные? Используй оператор |, начиная с Python 3.9.
Итог:
Оператор | объединяет словари в один, не изменяя оригиналы. Это удобно, читаемо и декларативно.
#theory // Just Python
Нужно быстро объединить два словаря, не изменяя исходные? Используй оператор |, начиная с Python 3.9.
Итог:
Оператор | объединяет словари в один, не изменяя оригиналы. Это удобно, читаемо и декларативно.
#theory // Just Python
Упрощённая проверка аргументов через __post_init__ в dataclass
Иногда тебе нужно добавить валидацию данных при создании объекта dataclass. Вместо написания кастомного init, просто используй post_init!
Итог
post_init — отличный способ добавить проверку инициализации в dataclass, не нарушая автоматические преимущества этого декоратора.
#theory // Just Python
Иногда тебе нужно добавить валидацию данных при создании объекта dataclass. Вместо написания кастомного init, просто используй post_init!
Итог
post_init — отличный способ добавить проверку инициализации в dataclass, не нарушая автоматические преимущества этого декоратора.
#theory // Just Python
Заморозка dataclass с frozen=True
Хочешь сделать неизменяемый объект — как namedtuple, но с преимуществами dataclass? Просто добавь frozen=True.
Итог
frozen=True превращает dataclass в неизменяемый и хешируемый объект. Отлично для безопасного и предсказуемого кода.
#theory // Just Python
Хочешь сделать неизменяемый объект — как namedtuple, но с преимуществами dataclass? Просто добавь frozen=True.
Итог
frozen=True превращает dataclass в неизменяемый и хешируемый объект. Отлично для безопасного и предсказуемого кода.
#theory // Just Python
Библиотека python-decouple
Библиотека python-decouple для Python помогает отделить конфигурационные параметры от вашего исходного кода. Это означает, что вы можете хранить секретные данные, такие как ключи API, пароли и URL-адреса базы данных, вне вашего кода, улучшая безопасность.
#theory // Just Python
Библиотека python-decouple для Python помогает отделить конфигурационные параметры от вашего исходного кода. Это означает, что вы можете хранить секретные данные, такие как ключи API, пароли и URL-адреса базы данных, вне вашего кода, улучшая безопасность.
#theory // Just Python
Быстрое создание вложенных словарей с defaultdict
Если ты работаешь с вложенными структурами типа dict of dict, можно избавиться от лишних проверок на наличие ключей, используя collections.defaultdict.
Это особенно удобно при подсчёте данных или построении динамических структур.
Итог
С помощью defaultdict можно упростить работу с вложенными словарями и избежать лишней проверки наличия ключей. Идеально подходит для счётчиков и агрегаций.
#theory // Just Python
Если ты работаешь с вложенными структурами типа dict of dict, можно избавиться от лишних проверок на наличие ключей, используя collections.defaultdict.
Это особенно удобно при подсчёте данных или построении динамических структур.
Итог
С помощью defaultdict можно упростить работу с вложенными словарями и избежать лишней проверки наличия ключей. Идеально подходит для счётчиков и агрегаций.
#theory // Just Python
Создание списка через цикл с использованием append()
С основой разобрались. Теперь посмотрим, как создать обновление списка с несколькими значениями. Не использовать же нам сотню функций для поочередного добавления элементов, в конце концов. Используем старый-добрый цикл.
В примере ниже на каждой итерации цикла переменная
#theory // Just Python
С основой разобрались. Теперь посмотрим, как создать обновление списка с несколькими значениями. Не использовать же нам сотню функций для поочередного добавления элементов, в конце концов. Используем старый-добрый цикл.
В примере ниже на каждой итерации цикла переменная
i содержит текущее значение из диапазона range(5), то есть значения от 0 до 4 (включительно).#theory // Just Python
Тернарный оператор: Поместите If и Else в одну строку кода
Многие языки программирования имеют тернарные операторы. Синтаксис Python для этого просто помещает if и else в одну строку.
Если мы реализуем ту же логику, что и выше, без тернарного оператора, потребуется несколько строк кода.
#theory // Just Python
Многие языки программирования имеют тернарные операторы. Синтаксис Python для этого просто помещает if и else в одну строку.
Если мы реализуем ту же логику, что и выше, без тернарного оператора, потребуется несколько строк кода.
#theory // Just Python
contextlib.suppress — элегантное подавление исключений
Иногда нужно проигнорировать определённое исключение, но писать try/except кажется избыточным. В этом случае поможет contextlib.suppress.
Это удобно при удалении временных файлов, работе с кэшем и т.п., где FileNotFoundError, например, — не критичен.
Итог:
contextlib.suppress делает код чище, устраняя лишние try/except блоки, если ты сознательно игнорируешь конкретное исключение.
#theory // Just Python
Иногда нужно проигнорировать определённое исключение, но писать try/except кажется избыточным. В этом случае поможет contextlib.suppress.
Это удобно при удалении временных файлов, работе с кэшем и т.п., где FileNotFoundError, например, — не критичен.
Итог:
contextlib.suppress делает код чище, устраняя лишние try/except блоки, если ты сознательно игнорируешь конкретное исключение.
#theory // Just Python
Cement
Cement — это фреймворк для создания интерфейсов командной строки (CLI). Он помогает разработчикам быстро создавать мощные и удобные CLI-приложения.
#theory // Just Python
Cement — это фреймворк для создания интерфейсов командной строки (CLI). Он помогает разработчикам быстро создавать мощные и удобные CLI-приложения.
#theory // Just Python