Python School
81.8K subscribers
2.42K photos
7 videos
563 links
Уроки по Python, которые упростят вам жизнь. Без идиотских туториалов.

Наши мемы для программистов: @conhum

Сотрудничество - @alivian

Канал сотрудничает с рекламным сервисом @Tgpodbor_official

РКН: clck.ru/3G6pBb
加入频道
Попробуйте себя в IT — без кода и вложений

Без кода, без опыта — но с реальными навыками. Бесплатный мини-курс по тестированию даст вам первое понимание профессии, практику и уверенность, подходит ли вам этот путь.

4 практических задания, полезные гайды, чат с экспертами и подарки. Всё — прямо в Telegram.

Курс подойдёт людям с любым уровнем подготовки — старт в удобное время, уроки в боте. Курс поможет сделать первые шаги в направлении фриланса, где при желании можно искать подработку и получать дополнительный опыт.

Регистрируйтесь и становитесь ITшником!
Визуализация сортировки с помощью matplotlib

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

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

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

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

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

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

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

Как придумать игровую механику, от которой невозможно оторваться?

На бесплатном мини-курсе от Skillbox вы получите базовый навык геймдизайнеранаучитесь разбирать игровые механики на части и понимать, как создаются вовлекающие сценарии и игровые системы.
Это первый шаг, без которого не начинается ни одна серьёзная игра.

Ваша любимая игра когда-то началась с геймдизайна. Попробуйте сделать свою.

Пройдите мини-курс: https://go.avred.online/62837c5457d03fb0?erid=2VfnxxcSezk&m=1
И получите в подарок 5 чек-листов для начинающих геймдизайнеров
🧠 dict.setdefault() — добавляем ключи без лишней проверки

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

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

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

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

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

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

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

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

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

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

🎯 Итог
Используй os.getenv вместо os.environ[], чтобы избежать исключений при отсутствии переменной. Это безопаснее и позволяет задавать значения по умолчанию.
🧊 Кэширование медленных функций с @lru_cache

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

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

Когда нужно быстро удалить нежелательные символы (например, знаки препинания) из строки, не нужно писать цикл — str.translate делает это мгновенно.

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

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

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

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

Иногда нужно задать значение по умолчанию, если переменная пуста или None. Вместо длинной конструкции if, можно использовать короткий трюк.

🎯 Итог
Оператор or — удобный способ задать значение по умолчанию, когда переменная может быть пустой, None, 0 или ''. Упрощает код и делает его чище.
Please open Telegram to view this post
VIEW IN TELEGRAM
🔁 Используй enumerate вместо счётчиков вручную

Когда нужно одновременно итерироваться по элементам и знать их индекс — не нужно делать это вручную!

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

Когда нужно одновременно итерироваться по элементам и знать их индекс — не нужно делать это вручную!

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

«Нам нужны люди, которые умеют придумывать игры, а не просто в них играть!» — так звучал главный запрос от студий в этом году.

Рынок трещит по швам: вакансий сотни, специалистов — единицы.
Именно поэтому мы по запросу индустрии запустили бесплатный мини-курс по геймдизайну.

Да-да, бесплатно. Потому что это — инвестиция в тех, кто войдёт в геймдев сразу с козырей.

Тех, кто пройдёт мини-курс, мы не просто учим — мы закидываем плюшками:
— Прямой эфир с опытным продюсером игр
— Персональная консультация по карьере
— Бонус: конференция по нейросетям для всех, кто досмотрит хотя бы 1 урок
— Сертификат и скидка 10 000 ₽ на следующий шаг в профессии
— И шанс забрать 3 млн рублей от студии Gamebox

Начните с теста, получите доступ к урокам, и давайте уже делать свою игру. Пока другие «ещё подумают».
🕰️ Быстрая проверка времени выполнения с timeit

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

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

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