Python School
81K subscribers
2.45K photos
7 videos
564 links
Что-то на айтишном про айти.

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

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

РКН: clck.ru/3G6pBb
加入频道
🔁 Один 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 можно делать это удобнее и читаемее — с помощью оператора |.

🎯 Итог
Оператор | — лаконичный способ объединять словари. Второй словарь переопределяет ключи первого.
🧵 Параллельная обработка с concurrent.futures.ThreadPoolExecutor

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

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

Иногда вместо длинных цепочек if или match можно использовать словарь с функциями — это чисто, читаемо и легко расширяемо.

🎯 Итог
Словарь функций — удобный способ заменить условные конструкции, особенно когда логика разветвляется по строковым ключам (например, названиям команд или операций).
Просто почитайте что пишет Саша Моловицын. Кто не знает, это топовый коммерс, который шарит за ритейл, маркетплейсы и е-ком. Его каналу много лет — это один из самых авторитетных блогов по маркетплейсам в Телеграм.

Он нескучно рассказывает про свой опыт работы, разбирает успешные и неудачные ходы марктеплейсов, стебется над клиентами. Также внутри: зачем маркетплейсы запускают свои банки, как реально работает поисковая выдача товаров и почему обязательно надо открывать ПВЗ в 2025 году.

Обычно тематические каналы однотипные и пустые, но Саша классный и бодро пишет. Подписывайтесь на него: https://yangx.top/+cp392ES5rWBmZWEy
🧠 Как элегантно "переключать" поведение с помощью словаря функций

Иногда вместо длинных цепочек if или match можно использовать словарь с функциями — это чисто, читаемо и легко расширяемо.

🎯 Итог
Словарь функций — удобный способ заменить условные конструкции, особенно когда логика разветвляется по строковым ключам (например, названиям команд или операций).
🧪 🐍 Проверка аргументов функции без лишнего кода с functools.singledispatch

Когда нужно писать разные реализации одной функции в зависимости от типа аргумента, не спеши писать if isinstance(...) — есть элегантнее способ!

🎯 Итог
singledispatch — способ реализовать полиморфизм для функций: избавляет от длинных ветвлений по типам, упрощает поддержку и расширение кода.
Изучить Data Science через разные задачи из мира ИИ, машинного обучения и Python

Мини-курс поможет тем, кто уже знаком с Data Science, узнать, как автоматизировать задачи с помощью нейросетей, даст новые знания по Python, поможет почувствовать себя в роли ML-инженера, аналитика и дата-инженера. Результатом обучения станут чат-бот и нейросеть.

Кроме того, после первого урока откроется доступ к конференции по нейросетям, а также будут подарки: сертификат на скидку 10 000 рублей на любой курс, гайд «Как пользоваться ChatGPT и Midjourney» и подборка полезных материалов. Регистрация на курс — здесь https://epic.st/egC_id?erid=2Vtzqv16o7P
🔄 🐍 Ленивая загрузка больших файлов с fileinput

Если ты обрабатываешь большие текстовые файлы построчно и не хочешь грузить всё в память — стандартный модуль fileinput тебе поможет!

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

🎯 Итог
fileinput — мощный инструмент для работы с текстовыми файлами: он лаконичен, поддерживает несколько источников и обрабатывает строки по очереди, не засоряя память.
🧮 🔢 Быстрое получение частот элементов с collections.Counter

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

🎯 Итог
collections.Counter — идеальный инструмент для анализа частот: он прост, читаем и очень эффективен.
Получаем все строки как словари

При работе с SQLite результат запроса по умолчанию возвращается в виде кортежей. Это не очень удобно, особенно если нужно обращаться к значениям по названиям колонок. Можно включить специальный режим, чтобы строки возвращались как словари.

🎯 Итог
Используй row_factory = dict_factory, чтобы получать строки из БД как словари. Это упростит доступ к данным и сделает код более читаемым.
Python — как первая гитара: просто, но затягивает

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

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

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

Нажмите “начать” — и пусть Python станет вашим козырем.
📌 🔄 Слияние словарей через оператор |

В Python 3.9+ можно объединять словари так же просто, как множества, с помощью оператора |. Это делает код чище и понятнее, особенно при объединении конфигураций или данных.

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