Python Academy
10.7K subscribers
505 photos
75 videos
584 links
🐍 Прокачайте свои навыки в Python без лишних слов и бубна. Нет туториалов - только чистый код!
Download Telegram
🧪 **Проверка существования атрибута без try/except
**
Иногда нужно понять, есть ли у объекта нужное свойство, и не хочется использовать try/except. В этом случае поможет встроенная функция hasattr().

🎯 Итог
Функция hasattr() позволяет лаконично проверить наличие атрибута у объекта — читаемо и без лишних конструкций.

Python Academy
👎5👍3
📌 **Объединение словарей без update()
**
Нужно быстро объединить два словаря, не изменяя исходные? Используй оператор |, начиная с Python 3.9.

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

Python Academy
👏7
Общий сбор Python-разработчиков на бесплатном митапе ЮMoney «Питоняшки»

Он пройдет 3 июля в 19:00. Офлайн — в Санкт-Петербурге, онлайн — в любой точке мира.

Доклады:
— Это не те метрики, что вы ищете. Разбор, почему стандартного экспортёра может не хватать, и как написать свой на Python.
— Кодогенерация: как компьютеры учатся писать код за нас.
— Ruff: как не положить всё, переходя на новые правила?
— Применение scrapy и playwright в ЮMoney, чтобы создать сервис модерации сайтов.

Регистрация уже открыта, а подробности — на сайте.

Python Academy
🤗2👍1😁1
**🧊 Заморозка dataclass с frozen=True
**
Хочешь сделать неизменяемый объект — как namedtuple, но с преимуществами dataclass? Просто добавь frozen=True.

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

Python Academy
🤩3🤗3
🧪 Упрощённая проверка аргументов через postinit в dataclass

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

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

Python Academy
🤗4🔥2👍1
🧵 **contextlib.suppress — элегантное подавление исключений
**
Иногда нужно проигнорировать определённое исключение, но писать try/except кажется избыточным. В этом случае поможет contextlib.suppress.

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

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

Python Academy
1
🪄 pathlib вместо os.path — чище и удобнее работа с путями

Работа с файлами через os.path часто громоздка. Вместо этого можно использовать модуль pathlib, который предоставляет объектно-ориентированный и читаемый API.

🎯 Итог
pathlib — современная замена os.path, делающая работу с путями проще, нагляднее и безопаснее.

Python Academy
👏54
Изучите азы работы Python, SQL, нейросетей и визуализации данных за 5 дней.

Бесплатный мини-курс от Skillbox для любого уровня откроет вам дорогу к направлению Data Science, в котором зарплата только начинающего специалиста составляет 100.000₽+

После мини курса Вы:
— Имеете собственное портфолио из 4 работ, которое можно показать работодателю
— Находитесь в закрытом экспертном телеграмм сообществе
— Получаете бессрочный доступ к видео-платформе
— Пообщались со спикером и закрыли все вопросы, возникшие в момент обучения

Регистрируйтесь по специальной ссылке и забирайте еще полезные подарки, один из которых: ПЕРСОНАЛЬНАЯ карьерная консультация. На мини-курс осталось 23 места.

Python Academy
3👍1
Изучи любой IT-курс и не только с помощью личного ИИ-наставника, чтобы не тратить сотни тысяч рублей на профессию.

Вместо траты двух лет на обучение в онлайн-университете, используйте современные методы с PAI. Ваш ИИ-наставник составит максимально эффективный и простой для освоения курс на любую тему по вашим запросам.

Почему PAI прокачивает быстрее:

— Слушай теорию как подкаст или листай текстом
— Интерактивные задачи и мини-проекты
— Подстраивается под твой уровень — от новичка до опытного разработчика.
— Хочешь «Парсер сайтов» или «FastAPI для джунов»? Платформа соберёт программу под твой запрос.
— Подписка вместо дорогого курса

Переходи по ссылке, пробуй 3 дня бесплатно и убедись сам!

Реклама. Информация о рекламодателе по ссылкам в посте.

Python Academy
🎉52
Бесплатный мини-курс: освой базу тестирования за 72 часа

Ты выполнишь 3 реальных задачи из жизни Junior QA — поиски багов вручную, и с помощью ПО. Получишь проекты в портфолио, значимые для будущего работодателя.

Как это работает?
1. Регистрируешься — это абсолютно бесплатно.
2. В течение трёх дней проходишь уроки от эксперта в удобное для себя время.
3. Получаешь консультацию по профессии, обучению и рынку.
4. Понимаешь, подходит ли тебе тестирование, как начать карьеру и как выгодно выделиться среди новичков.

Получи 4 гайда + 3 проекта в портфолио за 3 дня — успевай до 3 июля!
👉 Записаться бесплатно (осталось 12 мест).

Python Academy
👍7
Использование defaultdict из модуля collections для работы с словарями

Модуль collections в Python включает в себя класс defaultdict, который позволяет создавать словари с значениями по умолчанию. Это особенно полезно, когда нужно инициализировать значения в словаре при первой встрече ключа, избавляясь от необходимости проверять наличие ключа и инициализировать его вручную.

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

Python Academy
3
Визуализация сортировки с помощью matplotlib

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

Этот лайфхак позволяет буквально "увидеть" работу алгоритма и может быть полезен для учебных целей или просто для интереса.

Python Academy
🤗4
🚨 contextlib.suppress() — элегантное игнорирование исключений

Иногда нужно просто "молча" игнорировать ошибку — например, если файл может не существовать. Вместо try/except, можно использовать contextlib.suppress().

🎯 Итог
contextlib.suppress() — читаемый и питоничный способ безопасно игнорировать ожидаемые ошибки без лишнего кода.

Python Academy
3👍3
Python — как первая гитара: просто, но затягивает

Пока кто-то учит программирование по роликам на YouTube, вы можете за 5 дней собрать Telegram-бота, веб-страницу и понять, ваше ли это вообще.

Python — язык, с которого начинают аналитики, дата-сайентисты, разработчики и даже автоматизаторы. Он простой, но лежит в основе десятков современных профессий. И спрос на умеющих работать с ним специалистов только растёт.

Мини-курс не грузит теорией. Это как пробная вечеринка в мире IT: сделали, почувствовали, захотели больше.

Нажмите “начать” — и пусть Python станет вашим козырем.

Python Academy
1
**🧠 dict.setdefault() — добавляем ключи без лишней проверки
**
Когда работаешь со словарями и нужно добавлять значения в списки по ключу, но есть более короткий способ — setdefault. Эта конструкция сразу создаёт список по ключу, если его нет, и добавляет значение — всё в одну строку.

🎯 Итог
setdefault() — отличный способ сократить код и избежать дублирования при работе со вложенными структурами данных.

Python Academy
😁1
**IPython

**IPython — это ядро блокнотов Jupyter. Jupyter Notebook — это веб-приложение с открытым кодом, которое позволяет создавать и обмениваться документами с живым кодом, уравнениями, визуализациями и текстовыми описаниями.

Python Academy
😁4
**🧼 Временное отключение вывода в консоль
**
Иногда сторонняя библиотека печатает слишком много в stdout, и вы хотите временно "заглушить" вывод. Вручную перенаправлять sys.stdout неудобно и небезопасно. Но есть элегантный способ.

🎯 Итог
Контекстный менеджер suppress_stdout помогает временно отключать вывод в консоль — полезно для подавления спама от сторонних библиотек или во время тестов.

Python Academy
👏5
📦 Динамический импорт модулей по имени

Иногда нужно импортировать модуль по его имени, известному только во время выполнения (например, загружать плагины). Вместо importlib.importmodule можно сделать это более гибко и кратко.

🎯 Итог
С помощью importlib.import
module и getattr можно динамически загружать модули и функции по строковому имени — удобно для создания плагин-систем и расширяемых приложений.

Python Academy
13
**🌱 Безопасный доступ к переменным окружения
**
Часто приходится использовать переменные окружения (например, токены или конфиги), но прямой доступ через os.environ может выбросить KeyError, если переменная не задана.

🎯 Итог
Используй os.getenv вместо os.environ[], чтобы избежать исключений при отсутствии переменной. Это безопаснее и позволяет задавать значения по умолчанию.

Python Academy
👍15🔥1
🧊 Кэширование медленных функций с @lrucache

Если у тебя есть тяжёлая или часто вызываемая функция с одними и теми же аргументами — можешь ускорить её с помощью встроенного декоратора lru
cache.

🎯 Итог
@lru_cache — простой способ кешировать результат функции и избежать повторных вычислений. Особенно полезен в задачах с рекурсией, API-запросами или обработкой данных.

Python Academy
8
**🧹 Очистка текста с помощью str.translate и str.maketrans
**
Когда нужно быстро удалить нежелательные символы (например, знаки препинания) из строки, не нужно писать цикл — str.translate делает это мгновенно.

🎯 Итог
Сочетание str.translate и str.maketrans — суперэффективный способ удаления символов из строки без регулярных выражений. Удобно, читаемо и быстро!

Python Academy
🤩11