Python School
81.2K subscribers
2.44K photos
7 videos
563 links
Что-то на айтишном про айти.

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

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

РКН: clck.ru/3G6pBb
Download Telegram
🔁 🔁 Повторяй действия с itertools.cycle

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

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

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

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

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

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

Если тебе нужно пройтись одновременно по двум (или более) спискам — не используй индексы вручную. Вместо этого — zip()!

🎯 Итог
zip() делает код чище и избавляет от необходимости вручную управлять индексами. Итерируйся по данным параллельно красиво и питонично!
Python — как первая гитара: просто, но затягивает

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

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

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

Нажмите “начать” — и пусть Python станет вашим козырем.
🧭 Проверка вхождения подстроки через оператор in — быстрее и проще

Иногда разработчики прибегают к str.find() или str.index() для поиска подстроки, но есть более питоничный способ — использовать in.

🎯 Итог
Используй in для проверки наличия подстроки — это читаемо, кратко и безопасно.
🧊 Immutable словари с types.MappingProxyType

Если нужно создать неизменяемый словарь, например, для конфигурации или констант, можно использовать MappingProxyType из модуля types.

🎯 Итог
MappingProxyType — отличный способ предоставить доступ к данным без риска их изменить. Подходит для защиты конфигураций и глобальных констант.
🕵️‍♂️ Атрибуты по умолчанию с getattr

Иногда нужно безопасно получить значение атрибута объекта, даже если он может не существовать. Вместо проверки через hasattr, можно использовать getattr с дефолтным значением.

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

🎯 Итог
getattr(obj, attr, default) — простой способ избежать AttributeError и задать значение по умолчанию для несуществующих атрибутов.
🔁 Один for, два результата: перебор с индексами через enumerate

Когда нужно итерироваться по списку и одновременно иметь доступ к индексам, не используйте range(len(...)) — лучше использовать enumerate().

enumerate() делает код чище, понятнее и безопаснее (избегаете IndexError, если перепутаете индексы).

🎯 Итог
Используй enumerate, когда нужен и элемент, и его индекс — это питонично и читаемо.
newspaper3k - с этим вы еще не встречались

Приготовьтесь к тому, что модуль newspaper снесёт вам крышу.
Он помогает извлекать статьи и связанные мета-данные из многих разных источников. Так же можно извлечь изображения, текста и имена авторов.

В нём даже имеется встроенная NLP-функциональность.

В этом случае, если вы собирались использовать BeautifulSoup или другую библиотеку для вебскрапинга так же в следующем проекте, лучше сэкономьте своё время и силы и загрузите newspaper
🧊 Заморозить словарь: types.MappingProxyType

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

Сам original можно изменять, а frozen — нет.

🎯 Итог
MappingProxyType — способ создать защищённый от изменений "словарь-обёртку", полезный в API и конфигурациях.
🧑‍💻 За последние 10 лет число вакансий в Data Science выросло в 30 раз, а медианная зарплата находится на уровне 200 000 рублей в месяц

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

Небольшой тест от методологов магистерской программы МФТИ «Науки о данных» поможет понять, какую специализацию выбрать и как построить карьерный переход.

Первый шаг — перейти по ссылке!
User-Agent

Механизм защиты от скрапинга – User-Agent. UA – это заголовок, который браузеры отправляют в запросах для идентификации. Обычно он представляет собой длинную строку, в которой объявляется имя браузера, версия, платформа и многое другое.
🕵️‍♂️ Проверка, откуда была вызвана функция: inspect.stack()

Если нужно отладить или логировать, кто вызывает функцию — можно использовать модуль inspect.

🎯 Итог
inspect.stack() позволяет заглянуть в стек вызовов и узнать, откуда была вызвана функция — мощный инструмент для отладки и логирования.
Data Science за 3 дня: попробуйте профессию, которая меняет жизни

Data Science — это не “просто IT”. Это ключ к профессиям будущего, которые нужны бизнесу уже сейчас. Skillfactory запустили бесплатный мини-курс, где вы за три дня:

– создадите свою нейросеть
– напишете код на Python
– поймёте, какое направление вам ближе: аналитика, машинное обучение или инженерия

Сразу после мини-курса у вас будут три проекта в портфолио, полезные гайды и чек-листы, понимание как выйти на доход от 150 тыс.руб в месяц.

Присоединяйтесь — старт в любое время, опыт не нужен.
🧹 Удаление всех символов, кроме цифр: re.sub()

Когда нужно оставить только цифры в строке (например, при обработке номеров телефонов, ID и т.п.), re.sub() делает это элегантно.

🎯 Итог
re.sub(r"\D", "", text) — быстрый способ избавиться от всего, кроме цифр, в строке. Отлично работает с номерами телефонов и ID.
📌 Объединение нескольких словарей без update()

Обычно для объединения словарей используют .update(), но с Python 3.9 можно делать это удобнее и читаемее — с помощью оператора |.

🎯 Итог
Оператор | — лаконичный способ объединять словари. Второй словарь переопределяет ключи первого.
Мир создают те, кто решается — станьте творцом.

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

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

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

Если у вас есть список задач, которые можно выполнять параллельно (например, HTTP-запросы или операции ввода-вывода), можно использовать ThreadPoolExecutor вместо обычного цикла.

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

Почему вам попался этот сериал на Netflix? Почему вы видите именно эту рекламу?
Откуда AliExpress знает, что вы купите через 2 дня?

Это всё — работа дата-сайентиста. И бизнес не может без них.

Вот почему их средняя зарплата с каждым годом только растет достигнув сегодня отметки в 255 000 рублей.

Skillfactory даёт шанс попробовать эту профессию на практике — бесплатно, за три дня. Пройдите мини-курс, и посмотрите, ваша ли это профессия.

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