Не торопитесь — код любит внимание.
Ответ:
#буст
Please open Telegram to view this post
VIEW IN TELEGRAM
🎓 Твой опыт стоит дорого — стань экспертом Proglib Academy
Чувствуешь, что накопил достаточно знаний, чтобы делиться ими с другими?
Мы ищем сильных практиков, которые хотят попробовать себя в роли:
— преподавателей;
— авторов курсов;
— наставников.
Это возможность не только монетизировать экспертизу, но и прокачать личный бренд, структурировать собственные знания и вырастить новое поколение специалистов.
👉 Заполни короткую анкету
Чувствуешь, что накопил достаточно знаний, чтобы делиться ими с другими?
Мы ищем сильных практиков, которые хотят попробовать себя в роли:
— преподавателей;
— авторов курсов;
— наставников.
Это возможность не только монетизировать экспертизу, но и прокачать личный бренд, структурировать собственные знания и вырастить новое поколение специалистов.
👉 Заполни короткую анкету
❤3
🦾 А что если ускорить Python в 37 раз… одной строкой кода?
Оптимизировать медленные функции в большом Python-проекте — боль.
Numba? Отлично, если у вас численные вычисления и NumPy.
Cython? Мощно, но
Codon реально удивил.
Добавляешь всего один декоратор
Почему это круто:
• Работает с обычным Python-кодом, не только с NumPy
• Типы выводятся автоматически
• Скомпилированные функции кэшируются
• По сути — никаких изменений в коде, кроме декоратора
📦 Репозиторий
☕️ Потыкать руками
Если кто уже пробовал Codon в проде — поделитесь впечатлениями 👀
📍 Навигация: Вакансии • Задачи • Собесы
🐸 Библиотека питониста
#буст
Оптимизировать медленные функции в большом Python-проекте — боль.
Numba? Отлично, если у вас численные вычисления и NumPy.
Cython? Мощно, но
.pyx, аннотации типов, сборка — прежде чем увидеть прирост, можно потратить полдня (а то и больше).Codon реально удивил.
Добавляешь всего один декоратор
@codon.jit, и функция компилируется прямо в машинный код. Без переписывания, без аннотаций, без шаманства.Почему это круто:
• Работает с обычным Python-кодом, не только с NumPy
• Типы выводятся автоматически
• Скомпилированные функции кэшируются
• По сути — никаких изменений в коде, кроме декоратора
📦 Репозиторий
☕️ Потыкать руками
Если кто уже пробовал Codon в проде — поделитесь впечатлениями 👀
📍 Навигация: Вакансии • Задачи • Собесы
#буст
Please open Telegram to view this post
VIEW IN TELEGRAM
❤7👍5🔥1
Python — язык агентов. Но умеете ли вы их готовить?
Написать бота на
Мы переписали наш курс «Разработка AI-агентов» с нуля.
Что добавили:
🐍 Frameworks: LangGraph (state machines), AutoGen, CrewAI.
🐍 Tools: Интеграция через MCP, tool-calling.
🐍 Production: AgentOps (LangSmith), деплой, безопасность (DLP).
🐍 Deep Dive: 13 модулей, доступ к GPU-кластеру.
Старый курс был «пробой пера». Новый — полноценная профессия AI-инженера. Есть два трека: для тех, кто хочет кодить (Advanced), и для тех, кто хочет понимать (Overview).
🔥 Акция 3 по цене 1:
Забирай курс по агентам и получай два других бесплатно (например, Алгоритмы + Математика).
Стать AI-инженером
Написать бота на
openai-python может каждый джун. А создать систему из 5 агентов, которые делят задачи, проверяют друг друга и не падают в рекурсию — это уровень 2026 года.Мы переписали наш курс «Разработка AI-агентов» с нуля.
Что добавили:
🐍 Frameworks: LangGraph (state machines), AutoGen, CrewAI.
🐍 Tools: Интеграция через MCP, tool-calling.
🐍 Production: AgentOps (LangSmith), деплой, безопасность (DLP).
🐍 Deep Dive: 13 модулей, доступ к GPU-кластеру.
Старый курс был «пробой пера». Новый — полноценная профессия AI-инженера. Есть два трека: для тех, кто хочет кодить (Advanced), и для тех, кто хочет понимать (Overview).
🔥 Акция 3 по цене 1:
Забирай курс по агентам и получай два других бесплатно (например, Алгоритмы + Математика).
Стать AI-инженером
😁3❤1
Как я писал книгу «Python для инженерных задач»
Автор честно рассказывает, как из практики, боли и реальных кейсов рождается книга. Полезно тем, кто думает, что «когда-нибудь тоже напишет» — сразу становится понятно, почему это долго и почему всё равно стоит.
11 Python-скриптов, которые изменят вашу рутину
Подборка из разряда «почему я не писал так раньше». Ничего революционного, но именно такие мелочи в итоге экономят часы — особенно если вы живёте в терминале.
Свежий обзор: топ библиотек 2025
Ежегодный дайджест экосистемы — хороший способ быстро сверить часы: чем реально пользуются, а что осталось в твиттере. Отличный материал, чтобы обновить mental map Python-мира.
ty — новый сверхбыстрый type checker и LSP для Python (beta)
Astral продолжают наступление: после Ruff —
ty. Rust под капотом, ставка на скорость и инкрементальность. Пока beta, но если mypy и Pyright вам кажутся «тяжеловатыми», стоит присмотреться.Pandas 3.0 почти здесь — вышел первый RC
Большие изменения давно назревали, экосистема явно готовится к апгрейду.
📍 Навигация: Вакансии • Задачи • Собесы
#свежак
Please open Telegram to view this post
VIEW IN TELEGRAM
❤6👍5🔥1
Почитали свежие What’s New in Python 3.15 — версия ещё альфа, но изменений уже много и некоторые из них прям радуют.
Вот что лично бросилось в глаза 👇
В Python появился отдельный пакет
profiling.Самое интересное — Tachyon, новый статистический профайлер:
— можно подключаться к уже запущенному процессу по PID
— почти нулевой overhead (до 1 000 000 Hz семплинга 😳)
— подходит для продакшена, где раньше профилировать было страшно
— flamegraph, heatmap, live-режим, async-aware — всё из коробки
Если коротко: профилировать Python в проде теперь реально удобно.
JIT в CPython стал заметно умнее:
— новый tracing-frontend
— базовое распределение регистров
— меньше reference counting
— лучше генерация машинного кода
— LLVM 21 под капотом
По бенчмаркам — в среднем +3–4%, но в отдельных местах ускорения доходят до 2×.
Это всё ещё не «Python стал C++», но направление очень правильное.
Теперь
AttributeError может подсказать путь:Did you mean: inner.area?
Мелочь, а приятно. Особенно в больших объектах и dataclass’ах.
Python окончательно сказал: «Хватит сюрпризов с кодировками». Если не указали
encoding= — будет UTF-8.Старое поведение можно отключить, но в целом это шаг к меньшему количеству багов.
—
bytearray.take_bytes() — можно забирать bytes без копирования— улучшения в
argparse, sqlite3, difflib, ssl, collections— куча deprecated-вещей наконец-то готовятся к удалению
— C API стал чище и логичнее
Версия ещё prerelease, но уже понятно — Python 3.15 не про «косметику», а про инструменты, производительность и удобство разработки.
Если интересно, вот официальная страница релиза:
👉 What’s new in Python 3.15
📍 Навигация: Вакансии • Задачи • Собесы
#буст
Please open Telegram to view this post
VIEW IN TELEGRAM
👍17❤8
☸️ kubesdk — современный Kubernetes-клиент для Python
kubesdk — async-first Kubernetes client + генератор API-моделей для Python.
Проект делался с прицелом на большие multi-cluster окружения, где важны производительность, типы и нормальный DX, а не бесконечная борьба с YAML и
Что делает kubesdk удобным:
— Async-first API — отлично ложится на современные Python-сервисы
— Полная типизация — автокомплит работает не только для built-in ресурсов, но и для ваших CRD
— IDE-friendly — наконец можно работать с Kubernetes API без угадывания полей
— Минимум зависимостей — только
⬇️ Архитектура из трёх пакетов
1️⃣
2️⃣
⏺️ Поддержка Kubernetes 1.23+
⏺️ Все API собраны в одну версию пакета
Можно использовать:
➡️ новый клиент со старым кластером
➡️ старые модели с новой версией клиента
Модели автоматически генерируются и публикуются во внешний репозиторий, чтобы не раздувать основной repo.
3️⃣
CLI-инструмент для генерации моделей:
➡️ из живого кластера
➡️ из OpenAPI-спеки
➡️ включая ваши собственные CRD
📱 Github
📍 Навигация: Вакансии • Задачи • Собесы
🐸 Библиотека питониста
#буст
kubesdk — async-first Kubernetes client + генератор API-моделей для Python.
Проект делался с прицелом на большие multi-cluster окружения, где важны производительность, типы и нормальный DX, а не бесконечная борьба с YAML и
dict[str, Any].Что делает kubesdk удобным:
— Async-first API — отлично ложится на современные Python-сервисы
— Полная типизация — автокомплит работает не только для built-in ресурсов, но и для ваших CRD
— IDE-friendly — наконец можно работать с Kubernetes API без угадывания полей
— Минимум зависимостей — только
aiohttp и PyYAMLkubesdk — основная клиентская библиотека, которую вы используете в коде.kube-models — отдельный пакет с предсгенерированными Python-моделями для всех upstream Kubernetes API:Можно использовать:
Модели автоматически генерируются и публикуются во внешний репозиторий, чтобы не раздувать основной repo.
kubesdk-cliCLI-инструмент для генерации моделей:
📍 Навигация: Вакансии • Задачи • Собесы
#буст
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5❤4
Git_шпаргалка.pdf
85.4 KB
💾 Git шпаргалка
Этот визуальный cheat sheet помогает разобраться, как Git реально работает, и держит под рукой самые важные концепции и команды.
📌 Полезно сохранить.
📍 Навигация: Вакансии • Задачи • Собесы
🐸 Библиотека питониста
#буст
Этот визуальный cheat sheet помогает разобраться, как Git реально работает, и держит под рукой самые важные концепции и команды.
📍 Навигация: Вакансии • Задачи • Собесы
#буст
Please open Telegram to view this post
VIEW IN TELEGRAM
👍15❤3
This media is not supported in your browser
VIEW IN TELEGRAM
Python — это база, но для AI-агентов нужна взрослая архитектура
Одного скрипта с вызовом модели уже недостаточно. Мы учим строить автономные системы, используя современные инструменты для управления состоянием и автоматизации.
На курсе вы освоите:
— `LangGraph` для проектирования сложных стейт-машин, умеющих восстанавливаться после сбоев;
— `RAG`-пайплайны на
— автоматизацию через `n8n` для бесшовного встраивания
— мониторинг и защиту с внедрением
Переходите от простых промптов к промышленной разработке ИИ-систем.
Курс здесь
Одного скрипта с вызовом модели уже недостаточно. Мы учим строить автономные системы, используя современные инструменты для управления состоянием и автоматизации.
На курсе вы освоите:
— `LangGraph` для проектирования сложных стейт-машин, умеющих восстанавливаться после сбоев;
— `RAG`-пайплайны на
Pinecone и Chroma для обучения ИИ работе с вашими данными;— автоматизацию через `n8n` для бесшовного встраивания
Python-логики в бизнес-процессы;— мониторинг и защиту с внедрением
LangSmith и Guardrails для контроля качества.Переходите от простых промптов к промышленной разработке ИИ-систем.
Курс здесь
❤3👍1
Код легче всего читать сразу после написания. Через месяц — уже нет.
И главный союзник читаемости — whitespace (пробелы и переносы строк).
Плохо:
result = a**2+b**2+c**2
Лучше:
result = a**2 + b**2 + c**2
Слишком много:
result = a ** 2 + b ** 2 + c ** 2
👉 Пробелы должны подчёркивать смысл, а не ломать группы.
Python игнорирует переносы внутри
() [] {} — используйте это.Слишком плотный код:
print("I like", " and ".join(sorted(fruits)), "but only certain pears")
Читаемо:
print(
"I like",
" and ".join(sorted(fruits)),
"but only certain pears",
)
В одну строку:
html_files = [p.name for p in paths if p.suffix == ".html"]
По смысловым блокам:
html_files = [
p.name
for p in paths
if p.suffix == ".html"
]
Тяжело читать:
books = Book.objects.filter(...).select_related(...).order_by("title")
Ясная последовательность:
books = (
Book.objects.filter(author__in=favorite_authors)
.select_related("author", "publisher")
.order_by("title")
)
MONTHS = {
"January": 1,
"February": 2,
"March": 3,
# ...
}
👉 Trailing comma помогает форматтерам и будущим правкам.
Используйте их, чтобы отделять смысл:
def process():
data = load_data()
cleaned = clean(data)
return analyze(cleaned)
Но не переусердствуйте — не каждый перенос улучшает код.
📍 Навигация: Вакансии • Задачи • Собесы
#буст
Please open Telegram to view this post
VIEW IN TELEGRAM
👍19❤4🔥2
Python-разработчик — от 130 000 до 180 000 ₽, удалёнка
Backend-разработчик — от 200 000 до 300 000 ₽, удалёнка
Senior Python developer, удалёнка
📍 Навигация: Вакансии • Задачи • Собесы
#буст
Please open Telegram to view this post
VIEW IN TELEGRAM
❤2
🎅 Секретный Санта для айтишников от Proglib.academy
Весь этот год команда Академии запускала курсы для айтишников. А под Новый год мы запускаем новый курс по ИИ-агентам и ставим под ёлку самый свежий стек 2025 года и обучение проектированию автономных нейросетевых экосистем — от LLM и ReAct-циклов до мультиагентных систем, LangGraph, AutoGen и продакшн-практик.
🎁 Хотим дарить подарки и приглашаем вас поучаствовать в конкурсе:
1️⃣ Упомяните курс Академии у себя в блоге.
2️⃣ Пришлите скрин сюда.
3️⃣ Получите секретный промокод на 10 000 ₽ при оплате любого курса.
Подходит всё — соцсети, блоги, Telegram-каналы от 300 подписчиков и более.
🎄 Акция действует до Нового года.
Win-win, всё как мы любим!
Весь этот год команда Академии запускала курсы для айтишников. А под Новый год мы запускаем новый курс по ИИ-агентам и ставим под ёлку самый свежий стек 2025 года и обучение проектированию автономных нейросетевых экосистем — от LLM и ReAct-циклов до мультиагентных систем, LangGraph, AutoGen и продакшн-практик.
🎁 Хотим дарить подарки и приглашаем вас поучаствовать в конкурсе:
1️⃣ Упомяните курс Академии у себя в блоге.
2️⃣ Пришлите скрин сюда.
3️⃣ Получите секретный промокод на 10 000 ₽ при оплате любого курса.
Подходит всё — соцсети, блоги, Telegram-каналы от 300 подписчиков и более.
🎄 Акция действует до Нового года.
Win-win, всё как мы любим!
❤1
💡 Как сделать сложные regex читаемыми с помощью Pregex
Регулярные выражения вроде:
работают отлично… но читать и поддерживать их — то ещё удовольствие.
Особенно тяжело, если:
🔛 код смотрит не автор,
🔛 в команде есть люди без опыта с regex,
🔛 нужно что-то быстро поправить или расширить.
Pregex решает эту проблему, превращая регулярки в понятный Python-код из описательных блоков.
Установка:
Если регулярно сталкиваетесь с regex в проде — стоит посмотреть.
📍 Навигация: Вакансии • Задачи • Собесы
🐸 Библиотека питониста
#буст
Регулярные выражения вроде:
[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}
работают отлично… но читать и поддерживать их — то ещё удовольствие.
Особенно тяжело, если:
Pregex решает эту проблему, превращая регулярки в понятный Python-код из описательных блоков.
Установка:
pip install pregex
Если регулярно сталкиваетесь с regex в проде — стоит посмотреть.
📍 Навигация: Вакансии • Задачи • Собесы
#буст
Please open Telegram to view this post
VIEW IN TELEGRAM
👍12🔥3❤1🤔1
WANTED: PYTHON-МАСТЕР
Обвиняется в написании идеально чистого кода на
Приметы:
— знает все тонкости
— умеет выстраивать архитектуру веб-приложений или систем обработки данных;
— обладает талантом объяснять сложные вещи доступно;
— хочет стать узнаваемым экспертом в индустрии.
Условия:
— гонорар за участие в проектах Proglib Academy;
— статус лидера мнений в Python-сообществе;
— гибкий формат сотрудничества.
Заполнить анкету
P.S. Видел питониста, чей код безупречен? Сдай его нам.
Обвиняется в написании идеально чистого кода на
Python. Мы ищем того, кто готов перестать просто кодить и начнёт формировать стандарты обучения для большой аудитории.Приметы:
— знает все тонкости
Python (опыт в Go или Java будет преимуществом);— умеет выстраивать архитектуру веб-приложений или систем обработки данных;
— обладает талантом объяснять сложные вещи доступно;
— хочет стать узнаваемым экспертом в индустрии.
Условия:
— гонорар за участие в проектах Proglib Academy;
— статус лидера мнений в Python-сообществе;
— гибкий формат сотрудничества.
Заполнить анкету
P.S. Видел питониста, чей код безупречен? Сдай его нам.
❤2
This media is not supported in your browser
VIEW IN TELEGRAM
⚡️ psp — быстрый старт Python-проекта
psp (Python Scaffolding Projects) — ультрабыстрый CLI-инструмент для создания структуры Python-проектов.
Написан на Rust, поэтому работает в разы быстрее привычных scaffolding-тулов.
Что умеет:
✅ в 1–100 раз быстрее аналогов
✅ сразу работает с pyproject.toml и Python 3.14
✅ генерирует файлы и структуру проекта
✅ поддержка unittest, pytest, tox и CI
✅ генерирует Dockerfile / Containerfile
✅ инициализация git, .gitignore, GitHub/GitLab
✅ README, LICENSE, CONTRIBUTING и прочая база
Подходит, если хочется быстро и аккуратно начать Python-проект, без ручной возни с шаблонами и конфигами.
🔗 Проект: https://clc.to/ZDiQfA
📍 Навигация: Вакансии • Задачи • Собесы
🐸 Библиотека питониста
#буст
psp (Python Scaffolding Projects) — ультрабыстрый CLI-инструмент для создания структуры Python-проектов.
Написан на Rust, поэтому работает в разы быстрее привычных scaffolding-тулов.
Что умеет:
Подходит, если хочется быстро и аккуратно начать Python-проект, без ручной возни с шаблонами и конфигами.
🔗 Проект: https://clc.to/ZDiQfA
📍 Навигация: Вакансии • Задачи • Собесы
#буст
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6❤3🤔2
Please open Telegram to view this post
VIEW IN TELEGRAM
😁25👏3❤1
В статье автор шаг за шагом пересобирает упрощённый
@dataclass, показывая ключевые идеи.В отличие от обычных декораторов, он:
— читает метаданные класса
— добавляет методы прямо в этот же класс
— возвращает тот же объект
def dataclass(cls):
# модифицируем cls
return cls
__annotations__Все поля dataclass — это просто type hints:
class User:
name: str
age: int
print(User.__annotations__)
# {'name': str, 'age': int}
Именно этот словарь используется для генерации
__init__, __repr__ и других методов.execОдна из самых неочевидных частей:
dataclass генерирует код как строки и выполняет его через exec.Пример простейшего
__init__, созданного динамически:
def __init__(self, name, age):
self.name = name
self.age = age
Этот код сначала собирается как строка, затем превращается в функцию и добавляется в класс через
setattr.frozen=TrueЧтобы сделать объект неизменяемым:
— переопределяются
__setattr__ и __delattr__— любые попытки изменить поле → ошибка
def __setattr__(self, name, value):
raise Exception("Cannot assign to frozen dataclass")
Но есть нюанс:
__init__ тоже использует __setattr__. Поэтому внутри
__init__ приходится писать так:
object.__setattr__(self, "age", age)
__repr____repr__ строится из self.__dict__:
def __repr__(self):
return f"User(name={self.name!r}, age={self.age!r})"
Флаг
!r гарантирует, что значения форматируются через их __repr__, а не __str__.В итоге кастомный
@dataclass:— читает
__annotations__— через
exec создаёт __init__, __repr__— опционально блокирует изменения (`frozen`)
— не создаёт новых объектов, а модифицирует существующий класс
⚠️ Отдельно отмечается: если нужны валидации типов — лучше смотреть в сторону Pydantic, который использует те же аннотации, но идёт дальше.
📖 Полный разбор — по ссылке.
📍 Навигация: Вакансии • Задачи • Собесы
#буст
Please open Telegram to view this post
VIEW IN TELEGRAM
👍9❤4
Python — язык №1 для создания AI-агентов. Освойте передовой стек 🐍
Библиотеки
Программа обучения:
— создание «мозга» агента на базе
— оркестрация агентов в
— применение протокола
— продвинутый
Итогом курса станет дипломный проект — рабочая группа агентов, решающая задачи от техподдержки до рыночной аналитики.
Начать обучение 🎓
Библиотеки
LangChain, CrewAI и AutoGen перевернули представление о разработке. Мы научим вас использовать их на максимум для создания автономных систем.Программа обучения:
— создание «мозга» агента на базе
OpenAI SDK и паттерна ReAct;— оркестрация агентов в
n8n и работа с внешними API;— применение протокола
MCP от Anthropic для связи систем;— продвинутый
RAG: превращаем документы в структурированную базу знаний.Итогом курса станет дипломный проект — рабочая группа агентов, решающая задачи от техподдержки до рыночной аналитики.
Начать обучение 🎓
👍3❤2
📚Напоминаем про наш полный курс «Самоучитель по 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
🔥7👍3