Just Python
10.3K subscribers
4.34K photos
11 videos
4.33K links
🐍Простое изучение Python.

Ссылка: @Portal_v_IT

Сотрудничество: @oleginc, @tatiana_inc

Канал на бирже: telega.in/c/justpython_it

РКН: clck.ru/3MnbSc
Download Telegram
Объединение словарей без update()

Нужно быстро объединить два словаря, не изменяя исходные? Используй оператор |, начиная с Python 3.9.

Итог:
Оператор | объединяет словари в один, не изменяя оригиналы. Это удобно, читаемо и декларативно.

#theory // Just Python
Упрощённая проверка аргументов через __post_init__ в dataclass

Иногда тебе нужно добавить валидацию данных при создании объекта dataclass. Вместо написания кастомного init, просто используй post_init!

Итог
post_init — отличный способ добавить проверку инициализации в dataclass, не нарушая автоматические преимущества этого декоратора.

#theory // Just Python
Заморозка dataclass с frozen=True

Хочешь сделать неизменяемый объект — как namedtuple, но с преимуществами dataclass? Просто добавь frozen=True.

Итог
frozen=True превращает dataclass в неизменяемый и хешируемый объект. Отлично для безопасного и предсказуемого кода.

#theory // Just Python
Библиотека python-decouple

Библиотека python-decouple для Python помогает отделить конфигурационные параметры от вашего исходного кода. Это означает, что вы можете хранить секретные данные, такие как ключи API, пароли и URL-адреса базы данных, вне вашего кода, улучшая безопасность.

#theory // Just Python
Быстрое создание вложенных словарей с defaultdict

Если ты работаешь с вложенными структурами типа dict of dict, можно избавиться от лишних проверок на наличие ключей, используя collections.defaultdict.

Это особенно удобно при подсчёте данных или построении динамических структур.

Итог
С помощью defaultdict можно упростить работу с вложенными словарями и избежать лишней проверки наличия ключей. Идеально подходит для счётчиков и агрегаций.

#theory // Just Python
Создание списка через цикл с использованием append()

С основой разобрались. Теперь посмотрим, как создать обновление списка с несколькими значениями. Не использовать же нам сотню функций для поочередного добавления элементов, в конце концов. Используем старый-добрый цикл.

В примере ниже на каждой итерации цикла переменная i содержит текущее значение из диапазона range(5), то есть значения от 0 до 4 (включительно).

#theory // Just Python
Тернарный оператор: Поместите If и Else в одну строку кода

Многие языки программирования имеют тернарные операторы. Синтаксис Python для этого просто помещает if и else в одну строку.

Если мы реализуем ту же логику, что и выше, без тернарного оператора, потребуется несколько строк кода.

#theory // Just Python
contextlib.suppress — элегантное подавление исключений

Иногда нужно проигнорировать определённое исключение, но писать try/except кажется избыточным. В этом случае поможет contextlib.suppress.

Это удобно при удалении временных файлов, работе с кэшем и т.п., где FileNotFoundError, например, — не критичен.

Итог:
contextlib.suppress делает код чище, устраняя лишние try/except блоки, если ты сознательно игнорируешь конкретное исключение.

#theory // Just Python
Cement

Cement — это фреймворк для создания интерфейсов командной строки (CLI). Он помогает разработчикам быстро создавать мощные и удобные CLI-приложения.

#theory // Just Python