Python Academy
10.7K subscribers
505 photos
74 videos
583 links
🐍 Прокачайте свои навыки в Python без лишних слов и бубна. Нет туториалов - только чистый код!
Download Telegram
**🌱 Безопасный доступ к переменным окружения
**
Часто приходится использовать переменные окружения (например, токены или конфиги), но прямой доступ через 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
Мир создают те, кто решается — станьте творцом.

Графический дизайн — не про «рисовать». Это про то, как бизнесы общаются с миром через визуал. Это про стиль, ассоциации, характер бренда. И вы можете быть тем, кто это создаёт.

Попробуйте себя в дизайне — без вложений, без риска. За 3 дня вы освоите Illustrator и Photoshop, соберёте концепт бренда и оформите свой первый кейс для портфолио.

Просто пройдите мини-курс. Он подскажет, насколько вам подходит дизайн. Остальное вы почувствуете сами.

Python Academy
🤗6👏42🔥2😁1
🧵 🧠 Оптимизация многопоточности с concurrent.futures.ThreadPoolExecutor

Иногда нужно быстро запустить несколько задач параллельно, особенно для I/O-операций. Вместо ручной работы с threading, можно использовать ThreadPoolExecutor — простой и читаемый способ.

Этот код запускает задачи в отдельных потоках, используя пул. Отличный способ распараллелить I/O (запросы, чтение файлов и т.п.).

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

Python Academy
7👏7👍6🎉1
Ошибки любят молчать. Твоя задача — их разговорить

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

Есть один курс, который за пару вечеров научит подходу: не просто «кликать» по интерфейсу, а мыслить как тестировщик — сомневаться, искать уязвимости и находить, где всё ломается.

Ты потренируешься искать логику, проверять границы, ломать сценарии — и делать это не ради вредности, а ради качества.

Пройди курс и пойми, как заработать на умении быть внимательным. Это, кстати, редкий и дорогой навык.

Python Academy
👍9
🪄 📂 Быстрое создание временных файлов и папок с tempfile

Нужно что-то временное для логов, кеша или тестов? Вместо хардкода путей и ручной очистки используй модуль tempfile — он сам всё создаст и удалит.

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

Python Academy
👍6🤗5👏1
🔁 🔁 Повторяй действия с itertools.cycle

Когда нужно бесконечно перебирать элементы (например, циклично менять цвета, игроков или статусы), используй itertools.cycle, а не колхозный индекс.

🎯 Итог
itertools.cycle — лаконичное и безопасное решение для бесконечного повторения элементов. Отлично работает там, где важна цикличность.

Python Academy
🤗15
🧪 Проверка наличия подстроки через in быстрее, чем find()

Если тебе просто нужно узнать, содержится ли одна строка в другой, используй оператор in вместо str.find() или str.index() — это читаемее и эффективнее.

🎯 Итог
Оператор in — это питоновский способ проверки наличия элемента или подстроки. Он читабельнее, короче и часто быстрее.

Python Academy
👏126🤩4
**Разница между is и ==

**is оператор проверяет, ссылаются ли оба операнда на один и тот же объект (т.Е. он проверяет, совпадает ли идентификатор операндов или нет).
== оператор сравнивает значения обоих операндов и проверяет, совпадают ли они.
Это is для равенства ссылок и == для равенства значений.

256 является существующим объектом, но 257 им не является. При запуске python будут выделены числа от -5 до 256. Эти числа используются часто, поэтому имеет смысл просто иметь их наготове.

Python Academy
🤗13🔥5👏1
Использование тернарного оператора для упрощения условий

Тернарный оператор в Python — это компактный способ записи условных выражений. Он позволяет в одну строку записать простую проверку и выполнение одного из двух выражений в зависимости от условия.

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

Python Academy
👏5🤗5