🤓 Самоучитель Python: как работать с регулярными выражениями
Разбираемся с модулем re, учимся создавать и использовать регулярные выражения, включая продвинутые проверки.
➡️ Полный материал по ссылке: регулярные выражения
Библиотека питониста #буст
Разбираемся с модулем re, учимся создавать и использовать регулярные выражения, включая продвинутые проверки.
Библиотека питониста #буст
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥11👍5❤3
🔁 Как перевернуть последовательность в Python: срезы, .reverse() и reversed()
Иногда нужно пройтись по списку в обратном порядке. Python предлагает как минимум три способа сделать это. Разберём, чем они отличаются и когда что использовать.
1️⃣ Срез с шагом -1
Срезы в Python поддерживают формат
Можно использовать это прямо в цикле:
✅ Но есть нюанс: этот трюк работает только с последовательностями, то есть объектами, у которых есть индексация (списки, строки, кортежи).
2️⃣ Метод .reverse()
Метод
✅ Важно:
— Метод не возвращает новый список, а изменяет оригинал.
— Работает только с типом list. Строки, кортежи и другие объекты не поддерживают
3️⃣ Функция reversed()
Наиболее универсальный и «питоничный» способ — использовать встроенную функцию
✅ Плюсы reversed():
— Работает на любых обратимых итерируемых объектах, не только на списках.
— Не копирует список — возвращает итератор, который идёт с конца.
— Оригинальный объект не изменяется.
Можно использовать
✅ Даже со словарями
Словари в Python 3.7+ сохраняют порядок добавления. Значит, их можно тоже «перевернуть»:
✅ Как reversed() похож на другие помощники циклов:
•
•
•
✅ Что нельзя «перевернуть»
Не все объекты в Python можно перевернуть. Например, файлы и генераторы не поддерживают
✅ Вывод
• Если нужно просто получить копию списка в обратном порядке — используйте
• Если хотите перевернуть список на месте — метод
• Если важно не трогать оригинал, сэкономить память и работать с любыми итерируемыми объектами — используйте
💬 Поделитесь в комментариях, каким способом чаще пользуетесь вы.
🔁 Репостните коллеге, который до сих пор пишет
Библиотека питониста #буст
Иногда нужно пройтись по списку в обратном порядке. Python предлагает как минимум три способа сделать это. Разберём, чем они отличаются и когда что использовать.
Срезы в Python поддерживают формат
[start:stop:step]
. Если шаг отрицательный, список читается справа налево:colors = ["purple", "blue", "green", "pink", "red"]
print(colors[::-1])
# ['red', 'pink', 'green', 'blue', 'purple']
Можно использовать это прямо в цикле:
for color in colors[::-1]:
print("I like", color)
Метод
.reverse()
переворачивает список на месте, изменяя оригинальный объект:colors = ["purple", "blue", "green", "pink", "red"]
colors.reverse()
print(colors)
# ['red', 'pink', 'green', 'blue', 'purple']
— Метод не возвращает новый список, а изменяет оригинал.
— Работает только с типом list. Строки, кортежи и другие объекты не поддерживают
.reverse()
.Наиболее универсальный и «питоничный» способ — использовать встроенную функцию
reversed()
:colors = ["purple", "blue", "green", "pink", "red"]
for color in reversed(colors):
print("I like", color)
— Работает на любых обратимых итерируемых объектах, не только на списках.
— Не копирует список — возвращает итератор, который идёт с конца.
— Оригинальный объект не изменяется.
Можно использовать
next()
для получения элементов по одному:r = reversed(colors)
next(r) # 'red'
next(r) # 'pink'
Словари в Python 3.7+ сохраняют порядок добавления. Значит, их можно тоже «перевернуть»:
capitals = {
"New South Wales": "Sydney",
"Victoria": "Melbourne",
"Western Australia": "Perth",
}
for state, capital in reversed(capitals.items()):
print(f"The capital of {state} is {capital}")
•
enumerate()
— добавляет индексацию•
zip()
— объединяет несколько последовательностей•
reversed()
— переворачивает порядок обходаfor i, color in enumerate(colors, 1):
print(f"{i}. {color}")
Не все объекты в Python можно перевернуть. Например, файлы и генераторы не поддерживают
reversed()
, потому что у них нет фиксированной длины и индексов.• Если нужно просто получить копию списка в обратном порядке — используйте
colors[::-1]
.• Если хотите перевернуть список на месте — метод
.reverse()
.• Если важно не трогать оригинал, сэкономить память и работать с любыми итерируемыми объектами — используйте
reversed()
.💬 Поделитесь в комментариях, каким способом чаще пользуетесь вы.
🔁 Репостните коллеге, который до сих пор пишет
for i in range(len(...))
.Библиотека питониста #буст
Please open Telegram to view this post
VIEW IN TELEGRAM
👍22❤9❤🔥3
😎 Пока все говорят об AI — мы учим строить системы, которые работают за вас
Что отличает топового дата-сайентиста от новичка? Умение не просто обучать модели, а создавать системы, которые принимают решения автономно. AI-агенты — это следующий уровень в DS, и мы запускаем курс по их разработке!
⚡️Если вы давно думали о прокачке скиллов или повышении грейда — сейчас самое время, потому что цена на курс вырастет уже 14 июня.
Спикер нашего нового курса — Никита Зелинский, Chief Data Scientist МТС. Его посты в канале @datarascals бьют в актуальные проблемы дата-спецов:
— Как за неделю окупить годовую зарплату одним COALESCE и получить свой quick win
— Разбор катастрофы с Precision@K или почему ваши метрики врут
— Комплексный гайд по антифроду
Поэтому на курсе «AI-агенты для DS» мы научим вас строить системы, которые не просто работают в демо, а выдерживают нагрузку реального бизнеса.
❗До повышения цены осталось 3 дня — забронируйте место сейчас
Что отличает топового дата-сайентиста от новичка? Умение не просто обучать модели, а создавать системы, которые принимают решения автономно. AI-агенты — это следующий уровень в DS, и мы запускаем курс по их разработке!
⚡️Если вы давно думали о прокачке скиллов или повышении грейда — сейчас самое время, потому что цена на курс вырастет уже 14 июня.
Спикер нашего нового курса — Никита Зелинский, Chief Data Scientist МТС. Его посты в канале @datarascals бьют в актуальные проблемы дата-спецов:
— Как за неделю окупить годовую зарплату одним COALESCE и получить свой quick win
— Разбор катастрофы с Precision@K или почему ваши метрики врут
— Комплексный гайд по антифроду
Поэтому на курсе «AI-агенты для DS» мы научим вас строить системы, которые не просто работают в демо, а выдерживают нагрузку реального бизнеса.
❗До повышения цены осталось 3 дня — забронируйте место сейчас
❤6👍1
👉 Промт дня: профилируем Python-код и ускоряем вычисления
Работает, но медленно? У вас есть скрипт или функция, и вы хотите понять, где узкие места.
Попросите ChatGPT:
✅ Хорошо работает на дата-скриптах, ETL, API, парсерах, ML-пайплайнах.
Библиотека питониста #буст
Работает, но медленно? У вас есть скрипт или функция, и вы хотите понять, где узкие места.
Попросите ChatGPT:
Вот мой Python-код.
Проанализируй и предложи:
– Где происходят самые затратные вычисления (CPU / память)
– Как переписать медленные части: циклы → векторизацию (NumPy / pandas), генераторы и lazy loading
– Как использовать multiprocessing или asyncio, если подходит
– Какие библиотеки (например, numba, joblib, polars, dask) можно подключить
– Как минимизировать работу с диском / сетью
– Как встроить cProfile, line_profiler, memory_profiler и интерпретировать отчёты
Библиотека питониста #буст
Please open Telegram to view this post
VIEW IN TELEGRAM
❤10👍1
🌧️ Облачная терапия: время выговориться!
Знакомая ситуация? Покупаете облако как BMW, а получаете телегу с квадратными колесами. Обещают 99.9% uptime, а сервер падает на релизе. Техподдержка отвечает через сутки фразой «попробуйте перезагрузить».
Пора узнать, как обстоят дела с облаками на самом деле. Поэтому мы собираем ваши реальные истории про облачные сервисы.
🤫О чем спросим:
— Зачем вам вообще это облако нужно
— Какие косяки достали до печенок
— Сколько денег утекает в никуда ежемесячно
— Что должно случиться, чтобы вы сменили провайдера
— И еще пару каверзных вопросов
⏱️ 2 минуты честности = большое исследование без воды → https://clc.to/nboYDA
Знакомая ситуация? Покупаете облако как BMW, а получаете телегу с квадратными колесами. Обещают 99.9% uptime, а сервер падает на релизе. Техподдержка отвечает через сутки фразой «попробуйте перезагрузить».
Пора узнать, как обстоят дела с облаками на самом деле. Поэтому мы собираем ваши реальные истории про облачные сервисы.
🤫О чем спросим:
— Зачем вам вообще это облако нужно
— Какие косяки достали до печенок
— Сколько денег утекает в никуда ежемесячно
— Что должно случиться, чтобы вы сменили провайдера
— И еще пару каверзных вопросов
⏱️ 2 минуты честности = большое исследование без воды → https://clc.to/nboYDA
❤2😁2
Недавно один из читателей поделился своей историей — возможно, она откликнется и вам:
Я много лет работал в команде, где строго использовали Python 3.9. Так решили когда-то ради совместимости и стабильности — и с тех пор не обновлялись. Всё работало: сбор данных, ETL, анализ, отчёты — в основном на pandas и duckdb.
Сейчас я перехожу на новую работу, где буду с нуля строить Python-инфраструктуру. Фактически — full-stack аналитика: от загрузки данных до дешбордов. И вот я задумался — какую версию Python выбрать как основную?
С одной стороны, хочется использовать самую свежую (например, 3.12) — ради скорости, typing improvements и async-фишек. С другой — важно, чтобы всё было стабильно, библиотеки поддерживались, и команда не путалась.
Да, можно ставить разные версии в виртуальные окружения. Но хочется стандарта по умолчанию — и отходить от него только если есть причина.
🤔 А вы как делаете в своих проектах:
— На какой версии Python сидите сейчас?
— Как часто обновляетесь?
— Когда обновление оправдано, а когда лучше не трогать?
Поделитесь опытом в комментариях — обсудим!
P.S. Если хотите задать вопрос, заполните нашу гугл-форму. Это займет 5 минут.
Библиотека питониста #междусобойчик
Please open Telegram to view this post
VIEW IN TELEGRAM
❤7👍1
🧹 Skylos — ваш новый помощник в борьбе с мёртвым кодом
Когда проект разрастается, в нём неизбежно накапливается мёртвый код: неиспользуемые функции, классы, импорты…
✅ Skylos помогает навести порядок.
Что умеет:
— Находит неиспользуемые функции и методы
— Определяет классы, которые нигде не используются
— Показывает импорты, которые можно удалить
— Работает по всей кодовой базе, даже кросс-модульно
— Быстрее и точнее, чем Vulture, Flake8, Pylint и Ruff
— Можно использовать в интерактивном режиме или экспортировать в JSON
✅ Skylos показал лучшие результаты по качеству детекции:
Для сравнения:
— Vulture: F1 = 36.6%
— Flake8 и Ruff: \~24%
— Pylint: 0% (да, серьёзно)
✅ Быстрый старт:
✅ Полезные флаги:
—
—
—
✅ Skylos написан на Python и распространяется по лицензии Apache 2.0. Всё работает локально, без отправки кода куда-либо.
📂 GitHub: https://clc.to/y7p3ZQ
📥 pip:
Библиотека питониста #буст
Когда проект разрастается, в нём неизбежно накапливается мёртвый код: неиспользуемые функции, классы, импорты…
Что умеет:
— Находит неиспользуемые функции и методы
— Определяет классы, которые нигде не используются
— Показывает импорты, которые можно удалить
— Работает по всей кодовой базе, даже кросс-модульно
— Быстрее и точнее, чем Vulture, Flake8, Pylint и Ruff
— Можно использовать в интерактивном режиме или экспортировать в JSON
Precision: 64.7% | Recall: 75.8% | F1 Score: 69.8%
Время анализа: 0.013 сек
Для сравнения:
— Vulture: F1 = 36.6%
— Flake8 и Ruff: \~24%
— Pylint: 0% (да, серьёзно)
pip install skylos
skylos /путь/к/проекту
—
--interactive
— интерактивный выбор кода на удаление—
--dry-run
— «что будет удалено», без фактического удаления—
--json
— отчёт в JSON📂 GitHub: https://clc.to/y7p3ZQ
📥 pip:
pip install skylos
Библиотека питониста #буст
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7❤3😢1
Успей впрыгнуть на курс «AI-агенты для DS» до завтрашнего повышения цены: 59.000 р. вместо
Про RAG слышали все — это уже два года самый массовый способ применения LLM в проде для бизнеса.
Это значит, что точность и надёжность такого решения достаточно предсказуемы для того, чтобы исключить человека из процесса аппрува выдачи LLM,
а связка «локально развернутая LLM + RAG над корпоративными документами» обеспечивает достаточную конфиденциальность, чтобы снять тревожность
«что наши данные попадут в OpenAI».
Эта история настолько популярна, что на рынке есть готовые RAG-решения,
а даже «маленькие» опенсорс-модели (до 5B) уже обзавелись своей RAG-ареной:
👉 https://huggingface.co/spaces/aizip-dev/SLM-RAG-Arena
Во время обучения на курсе «AI-агенты для DS» научим собирать автономные системы под реальные бизнес-задачи. На прошлой неделе мы рассказали о первом занятии.
— Собираем свой RAG-пайплайн на своих данных
— Обсуждаем, почему качество такой системы нельзя измерять «на глаз»
— Разбираем схему LLM as a Judge и как подготовить для неё датасет
— Что такое guardrails и как они спасают от бреда
— Что делать, когда LLM не знает ответа
— Смотрим на агентский RAG и обсуждаем, можно ли использовать RAG как память агента
Если пропустили первое занятие, то вот ссылочка
❗️До повышения цены остался последний день — бронируйте место сейчас
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2
🕵️♂️🔐 10 хакерских Python-скриптов
Хочешь научиться создавать скрипты, которые умеют самоуничтожаться, незаметно делать скриншоты, записывать нажатия клавиш и обходить антивирусы?
В нашем новом материале мы раскрываем топовые техники этичного хакинга на Python — от мутации кода до выполнения скриптов прямо в памяти.
💡 На карточках — 5 ключевых примеров с кодом для быстрого старта.
📖 Остальные скрипты и подробности — в полном материале по ссылке: https://proglib.io/sh/Eu3Dm2GYbh
Библиотека питониста #буст
Хочешь научиться создавать скрипты, которые умеют самоуничтожаться, незаметно делать скриншоты, записывать нажатия клавиш и обходить антивирусы?
В нашем новом материале мы раскрываем топовые техники этичного хакинга на Python — от мутации кода до выполнения скриптов прямо в памяти.
💡 На карточках — 5 ключевых примеров с кодом для быстрого старта.
📖 Остальные скрипты и подробности — в полном материале по ссылке: https://proglib.io/sh/Eu3Dm2GYbh
Библиотека питониста #буст
👍14❤2🔥1
😱 Завтра цена на курс «AI-агенты для DS» вырастет
Пока вы думаете — другие уже покупают. Что вы теряете, откладывая решение? Как минимум — 10 000 рублей, именно столько вы переплатите завтра. Как максимум — шанс войти в топ-1% дата-сайентистов, которые умеют строить AI-агенты.
🎓 Чему вы научитесь на курсе:
— адаптировать LLM под разные предметные области и данные
— собирать свою RAG-систему: от ретривера и реранкера до генератора и оценки качества
— строить AI-агентов с нуля — на основе сценариев, функций и взаимодействия с внешней средой
Решение за вами.
👉 Купить курс по старой цене
Пока вы думаете — другие уже покупают. Что вы теряете, откладывая решение? Как минимум — 10 000 рублей, именно столько вы переплатите завтра. Как максимум — шанс войти в топ-1% дата-сайентистов, которые умеют строить AI-агенты.
🎓 Чему вы научитесь на курсе:
— адаптировать LLM под разные предметные области и данные
— собирать свою RAG-систему: от ретривера и реранкера до генератора и оценки качества
— строить AI-агентов с нуля — на основе сценариев, функций и взаимодействия с внешней средой
Решение за вами.
👉 Купить курс по старой цене
proglib.academy
Курс|AI-агенты для DS-специалистов
На курсе ты разберёшься, как работают AI-агенты и как их применять в работе — от текстовых помощников до систем, помогающих принимать решения. Разберем архитектуру агентов, связку с внешними API, пайплайны действий и популярные библиотеки. Курс включает реальные…
👍2
👀 Проверь, насколько ты хорош в Python
Угадай термин, о котором идёт речь. Он связан с Python и часто всплывает при работе с кодом.
🔒 Ответы прячем под спойлер, чтобы не спойлерить остальным.
Самые догадливые — в комменты 👇
Библиотека питониста #междусобойчик
Угадай термин, о котором идёт речь. Он связан с Python и часто всплывает при работе с кодом.
🔒 Ответы прячем под спойлер, чтобы не спойлерить остальным.
Самые догадливые — в комменты 👇
Библиотека питониста #междусобойчик
❤4🥱2👍1
📚Напоминаем про наш полный курс «Самоучитель по Python для начинающих»
Мы написали и собрали для вас в одну подборку все 25 глав и 230 практических заданий!
🐍 Часть 1: Особенности, сферы применения, установка, онлайн IDE
🐍 Часть 2: Все, что нужно для изучения Python с нуля – книги, сайты, каналы и курсы
🐍 Часть 3: Типы данных: преобразование и базовые операции
🐍 Часть 4: Методы работы со строками
🐍 Часть 5: Методы работы со списками и списковыми включениями
🐍 Часть 6: Методы работы со словарями и генераторами словарей
🐍 Часть 7: Методы работы с кортежами
🐍 Часть 8: Методы работы со множествами
🐍 Часть 9: Особенности цикла for
🐍 Часть 10: Условный цикл while
🐍 Часть 11: Функции с позиционными и именованными аргументами
🐍 Часть 12: Анонимные функции
🐍 Часть 13: Рекурсивные функции
🐍 Часть 14: Функции высшего порядка, замыкания и декораторы
🐍 Часть 15: Методы работы с файлами и файловой системой
🐍 Часть 16: Регулярные выражения
🐍 Часть 17: Основы скрапинга и парсинга
🐍 Часть 18: Основы ООП – инкапсуляция и наследование
🐍 Часть 19: Основы ООП – абстракция и полиморфизм
🐍 Часть 20: Графический интерфейс на Tkinter
🐍 Часть 21: Основы разработки игр на Pygame
🐍 Часть 22: Основы работы с SQLite
🐍 Часть 23: Основы веб-разработки на Flask
🐍 Часть 24: Основы работы с NumPy
🐍 Часть 25: Основы анализа данных с Pandas
Мы написали и собрали для вас в одну подборку все 25 глав и 230 практических заданий!
🐍 Часть 1: Особенности, сферы применения, установка, онлайн IDE
🐍 Часть 2: Все, что нужно для изучения Python с нуля – книги, сайты, каналы и курсы
🐍 Часть 3: Типы данных: преобразование и базовые операции
🐍 Часть 4: Методы работы со строками
🐍 Часть 5: Методы работы со списками и списковыми включениями
🐍 Часть 6: Методы работы со словарями и генераторами словарей
🐍 Часть 7: Методы работы с кортежами
🐍 Часть 8: Методы работы со множествами
🐍 Часть 9: Особенности цикла for
🐍 Часть 10: Условный цикл while
🐍 Часть 11: Функции с позиционными и именованными аргументами
🐍 Часть 12: Анонимные функции
🐍 Часть 13: Рекурсивные функции
🐍 Часть 14: Функции высшего порядка, замыкания и декораторы
🐍 Часть 15: Методы работы с файлами и файловой системой
🐍 Часть 16: Регулярные выражения
🐍 Часть 17: Основы скрапинга и парсинга
🐍 Часть 18: Основы ООП – инкапсуляция и наследование
🐍 Часть 19: Основы ООП – абстракция и полиморфизм
🐍 Часть 20: Графический интерфейс на Tkinter
🐍 Часть 21: Основы разработки игр на Pygame
🐍 Часть 22: Основы работы с SQLite
🐍 Часть 23: Основы веб-разработки на Flask
🐍 Часть 24: Основы работы с NumPy
🐍 Часть 25: Основы анализа данных с Pandas
1❤11👍4
🐍 Python: свежие статьи, практики и апдейты
🔧 Практика и разработка:
— Оптимизация запросов в Django — от select_related до аннотаций: как ускорить и не сломать
— Docker-образ для продакшна — пошагово о том, как собрать стабильный образ, который работает не только у вас
— Настройка окружения для работы — Linux, VSCode, Python: всё, что нужно для удобного старта
🕹 Проекты и игры:
— Дебаггер на Tkinter — pet-проект с графикой на чистом Python
— 2D-игра на Python — создание простой, но живой игры своими руками
🛡 Django: безопасность и апдейты
— Bugfix-релизы Django — Django 5.2.3, 5.1.11 и 4.2.23: финальное исправление CVE-2025-48432
Библиотека питониста #свежак
🔧 Практика и разработка:
— Оптимизация запросов в Django — от select_related до аннотаций: как ускорить и не сломать
— Docker-образ для продакшна — пошагово о том, как собрать стабильный образ, который работает не только у вас
— Настройка окружения для работы — Linux, VSCode, Python: всё, что нужно для удобного старта
🕹 Проекты и игры:
— Дебаггер на Tkinter — pet-проект с графикой на чистом Python
— 2D-игра на Python — создание простой, но живой игры своими руками
🛡 Django: безопасность и апдейты
— Bugfix-релизы Django — Django 5.2.3, 5.1.11 и 4.2.23: финальное исправление CVE-2025-48432
Библиотека питониста #свежак
👍6🔥4❤3