Python Academy
10.7K subscribers
505 photos
74 videos
583 links
🐍 Прокачайте свои навыки в Python без лишних слов и бубна. Нет туториалов - только чистый код!
Download Telegram
Использование 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
Дизайн — это не просто красиво. Это то, за что платят

Пока одни думают, что дизайн — это рисовать красивые кнопки, другие уже собирают портфолио, делают проекты и зарабатывают на создании красоты.

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

Материалы подбираются под ваш уровень — от «я слышал только слово Figma» до «уже пробовал, но не понял, куда двигаться дальше». Всё это — в одном месте.

Откройте курс — и сделайте шаг от мечты о дизайне к первому проекту в портфолио.

Python Academy
🔥10
🔐 Безопасная подстановка значений в SQL — не через f-строки!

Никогда не вставляй пользовательские данные напрямую в SQL-запросы. Используй параметризацию — это защищает от SQL-инъекций и делает код надёжнее.

Python Academy
🤗7
**Резервирование символов

**С помощью операторов > / < / ^` вы можете добавлять выходному значению символы, к примеру, облегчающие поиск среди других выходных значений.

Как видно в сниппете, `<` добавит символы после, `>
– до, а ^ – окружит с двух сторон.

Python Academy
🤗8
Тестировщики находят ошибки в программах — и зарабатывают от 70 000 ₽

Как «укусить» IT профессию — без обязательств.

Skillbox придумал простой способ: вы заходите в Telegram, проходите короткий тест — и получаете серию мини-уроков, где на практике ловите баги, учитесь работать с базами и смотрите, как думают тестировщики.

Вы не подписываетесь на вечную учёбу, не платите и не обещаете «изменить свою жизнь». Вы просто проверяете: интересно это вам или нет.

И если «да», то вам дадут подарки — курс английского, гайд по профессии и шанс выиграть 1,5 млн в хакатоне.

Мест почти не осталось. Забирайте, вход пока открыт: получить курс.

Python Academy
🤗8
**🐍 Условное присваивание с оператором or
**
Иногда нужно задать значение по умолчанию, если переменная пуста или None. Вместо длинной конструкции if, можно использовать короткий трюк.

🎯 Итог
Оператор or — удобный способ задать значение по умолчанию, когда переменная может быть пустой, None, 0 или ''. Упрощает код и делает его чище.

Python Academy
👍41
**🔁 Используй enumerate вместо счётчиков вручную
**
Когда нужно одновременно итерироваться по элементам и знать их индекс — не нужно делать это вручную!

🎯 Итог
enumerate — твой друг при работе с индексами в цикле. Это Pythonic и избавляет от лишнего кода.

Python Academy
🤗9
**🔁 Используй enumerate вместо счётчиков вручную
**
Когда нужно одновременно итерироваться по элементам и знать их индекс — не нужно делать это вручную!

🎯 Итог
enumerate — твой друг при работе с индексами в цикле. Это Pythonic и избавляет от лишнего кода.

Python Academy
🎉6😁5🤗3🤩2
🕰️ Быстрая проверка времени выполнения с timeit

Иногда нужно быстро узнать, сколько времени занимает тот или иной фрагмент кода. Вместо написания таймеров — используй модуль timeit.

Модуль timeit точно измеряет производительность фрагмента кода и учитывает мелкие колебания времени.

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

Python Academy
🔥12🤗4🤩3
🧪** Проверка типов переменной с помощью typing.get_origin и typing.get_args
**
Когда ты работаешь с аннотациями типов (особенно с Union, List[int], Optional[str] и т.п.), стандартной проверки isinstance() недостаточно.

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

🎯 Итог
С помощью get_origin и get_args ты можешь "распаковать" сложные типы и точно понимать, что за структура стоит за аннотацией. Очень полезно при создании универсальных функций или фреймворков.

Python Academy
👍4👏2😁2🤩1