📚Напоминаем про наш полный курс «Самоучитель по 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
👍9❤1
⚙️ Инструменты и фреймворки
— Красивые CLI-приложения с Typer и Rich — как создавать удобные, цветные и дружелюбные консольные приложения с современным интерфейсом.
— No-code инструмент для сокрытия Python-кода — новый open-source toolkit, позволяющий защитить Python-код без ручного шифрования и обфускации.
— 5 библиотек, которые выведут вас на новый уровень — подборка свежих и недооценённых библиотек, расширяющих возможности Python-разработчика.
🧠 Изучение и практика
— Pytest для начинающих с домашним заданием — пошаговый туториал по базовым тестам, фикстурам и параметризации.
— CPython простыми словами — объяснение того, как устроен интерпретатор Python под капотом — память, байткод, GIL и оптимизации.
— Шаблоны и принципы деления кода на классы — как структурировать большие проекты и проектировать классы.
🌐 Веб и асинхронщина
— Стриминг больших ответов в Django — как эффективно отправлять большие ответы через StreamingHttpResponse и async-генераторы.
— Создаём MCP-сервер на практике — пошаговая инструкция по разработке MCP-сервера (Model Context Protocol) — новой инфраструктуры для взаимодействия с LLM.
#свежак
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4❤3🔥1
Forwarded from Библиотека задач по Data Science | тесты, код, задания
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from Библиотека задач по Data Science | тесты, код, задания
Опрос Django Developers Survey 2025 собрал ответы более 4600 разработчиков со всего мира и показал, что экосистема Django продолжает активно развиваться — даже спустя 20 лет с момента появления фреймворка:
django-mongodb-backend.#буст
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7❤2😁1
👉 CocoIndex — база знаний о вашем коде для AI и IDE
CocoIndex — это инструмент для построения и обновления индекса кода в реальном времени. Он использует Tree-sitter для точного разбора кода и поддерживает инкрементальную обработку — пересчитывает только изменённые части проекта.
Возможности и кейсы:
— Семантический контекст для AI-агентов (Claude, Codex, Gemini CLI)
— MCP-интеграции с IDE: Cursor, Windsurf, VSCode
— Semantic code search и поиск кода по естественному языку
— Автоматический AI code review, анализ и суммаризация PR
— Масштабные авторефакторинги и миграции кода
— SRE и DevOps сценарии: быстрое RCA, анализ влияния изменений, поиск по IaC и конфигам
— Автогенерация и обновление design-документации из кода
🔍 Реальное время, точность и масштабируемость — всё, что нужно для умных инструментов поверх кода.
📱 Github
🐸 Библиотека питониста
#буст
CocoIndex — это инструмент для построения и обновления индекса кода в реальном времени. Он использует Tree-sitter для точного разбора кода и поддерживает инкрементальную обработку — пересчитывает только изменённые части проекта.
Возможности и кейсы:
— Семантический контекст для AI-агентов (Claude, Codex, Gemini CLI)
— MCP-интеграции с IDE: Cursor, Windsurf, VSCode
— Semantic code search и поиск кода по естественному языку
— Автоматический AI code review, анализ и суммаризация PR
— Масштабные авторефакторинги и миграции кода
— SRE и DevOps сценарии: быстрое RCA, анализ влияния изменений, поиск по IaC и конфигам
— Автогенерация и обновление design-документации из кода
🔍 Реальное время, точность и масштабируемость — всё, что нужно для умных инструментов поверх кода.
#буст
Please open Telegram to view this post
VIEW IN TELEGRAM
❤5👍4
Когда проект растёт, обычные
.toml, .yaml и .json превращаются в кошмар — без импортов, функций, комментариев и валидации.CueLang решает почти всё: строгая типизация, DRY, схемы и экспорт в JSON/YAML. Но беда — только Go, без питонячих биндингов.
А вот Starlark неожиданно оказался достойной альтернативой:
— безопасен (песочница, без доступа к FS и сети);
— расширяем (можно подключать Python-функции);
— даёт контроль над импортами и окружением;
— похож на Python, но только внешне — внутри это совсем другой зверь.
Пример:
import starlark
with open("config.star") as f:
code = f.read()
module = starlark.Module()
stdlib = starlark.Globals.standard()
ast = starlark.parse("config.star", code)
starlark.eval(module, ast, stdlib, None)
Starlark — не замена CueLang, а отличный инструмент, если нужно встроить безопасный DSL в продукт.
Но для личных проектов — Python + Pydantic всё ещё проще и удобнее.
#буст
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5❤3
Теперь в Python 3.15 можно будет использовать распаковку прямо в comprehensions (списковых, словарных и генераторных выражениях).
Python Steering Council внёс небольшое уточнение — и потребовал использовать явные циклы вместо
yield from, чтобы сохранить простоту и симметрию между синхронными и асинхронными выражениями.💡 Это сделает comprehensions более мощными и при этом предсказуемыми.
Наконец-то появятся явные ленивые импорты через ключевое слово
lazy.Теперь можно будет писать:
lazy import numpy
from pandas lazy import DataFrame
Импорт произойдёт только при первом обращении к модулю, что ускорит запуск и сократит время старта больших проектов.
Также добавят
sys.get_lazy_imports() и уточнят приоритет между флагами среды (PYTHON_LAZY_IMPORTS, -X, sys.set_lazy_imports()).#буст
Please open Telegram to view this post
VIEW IN TELEGRAM
👍12❤8🔥3
Please open Telegram to view this post
VIEW IN TELEGRAM
😁37💯10😢3
This media is not supported in your browser
VIEW IN TELEGRAM
Онлайн-IDE, созданная специально для обучения и совместного кодинга. Простая, быстрая и дружелюбная к новичкам.
Основные фишки:
— Совместное редактирование кода в реальном времени (на Y.js)
— Безопасная авторизация — вручную или через Google
— Группы и проекты — удобно организуйте командную работу
— Рисование прямо в IDE — идеально для преподавателей
— Подсветка и линтинг — помогает писать чистый код
— Чат и голосовые комнаты — как в Discord, прямо внутри проекта
— Умное автосохранение — ничего не потеряется
✨ PyTogether создан для обучения и совместного программирования — без сложных настроек, терминалов и плагинов. Просто заходите, создавайте проект и кодьте вместе.
#буст
Please open Telegram to view this post
VIEW IN TELEGRAM
❤6👍3
Короткий ответ — очень часто.
В CPython каждое целое число — это объект
PyLongObject*, хранящийся в куче. Даже операция i + 1 создаёт новый объект.Если бы каждое число выделялось через
malloc/free, арифметика была бы в сотни раз медленнее, чем машинная инструкция ADD.Но Python применяет несколько хитрых оптимизаций.
Добавим вывод в функцию аллокации чисел и запустим код:
for i in range(0, 100_000):
print(i + 1)
Результат:
Allocating number object 100904 times
Кажется, создаётся новый объект на каждой итерации.
Но без
print():for i in range(0, 100_000):
a = i + 1
Теперь:
Allocating number object 905 times
То есть новые объекты создаются редко — большинство просто переиспользуются.
Функция сложения в CPython выглядит примерно так:
static PyLongObject *
long_add(PyLongObject *a, PyLongObject *b)
{
stwodigits z = medium_value(a) + medium_value(b);
return _PyLong_FromSTwoDigits(z);
}
_PyLong_FromSTwoDigits решает, брать ли объект из freelist (списка свободных объектов) или выделять новый:PyLongObject *v = _Py_FREELIST_POP(PyLongObject, ints);
if (v == NULL) v = PyObject_Malloc(sizeof(PyLongObject));
После освобождения объект возвращается обратно во freelist, а не в систему.
Результат эксперимента:
102 ALLOCATING
99193 REUSING
99% чисел просто переиспользуются!
Для диапазона
-5..1024 объекты создаются заранее:PyLongObject small_ints[_PY_NSMALLNEGINTS + _PY_NSMALLPOSINTS];
Такие числа никогда не аллоцируются — просто возвращаются из таблицы. Это ещё одна оптимизация CPython.
CPython использует собственный пуловый аллокатор (
pymalloc). Память разбита на пулы фиксированного размера (по 256 КБ).Выделение из пула выполняется почти мгновенно, без системных вызовов
malloc() или mmap().Физическая память подгружается лениво — по мере использования.
#буст
Please open Telegram to view this post
VIEW IN TELEGRAM
👍13❤8💯1
🎁 И мозг прокачать, и макбук утащить!
Proglib.academy разыгрывает MacBook Pro 14 (M3 Pro, 36 GB, 1 TB SSD) 💻
Условия:
1️⃣ Покупаешь любой курс Proglib до 15 ноября.
2️⃣ Проходишь минимум 2 учебные недели (можно осилить за два вечера).
3️⃣ Пишешь куратору в чат своего курса: #розыгрыш.
Что за курсы?
— Математика для Data Science (6 месяцев боли и просветления).
— Основы Python, ML, алгоритмы, AI-агенты и даже курс для тех, кто в IT, но не кодит.
👉 Участвовать в розыгрыше
Proglib.academy разыгрывает MacBook Pro 14 (M3 Pro, 36 GB, 1 TB SSD) 💻
Условия:
1️⃣ Покупаешь любой курс Proglib до 15 ноября.
2️⃣ Проходишь минимум 2 учебные недели (можно осилить за два вечера).
3️⃣ Пишешь куратору в чат своего курса: #розыгрыш.
Что за курсы?
— Математика для Data Science (6 месяцев боли и просветления).
— Основы Python, ML, алгоритмы, AI-агенты и даже курс для тех, кто в IT, но не кодит.
👉 Участвовать в розыгрыше
❤1
Please open Telegram to view this post
VIEW IN TELEGRAM
😁31❤1👍1
Почему в Python у строк используется индексирование с нуля, как в C, а не с единицы, как в Pascal или MATLAB?
Anonymous Quiz
18%
Это требование стандарта IEEE для языков общего назначения
3%
Так проще для людей считать индексы
61%
Это наследие C и логика указателей в вычислении смещения
18%
Так решил Гвидо ван Россум, чтобы отличаться от Perl
❤2
💻 ВАЖНО: макбук ещё не забрали!
Proglib.academy продолжает розыгрыш MacBook Pro 14» (M3 Pro, 36 Гб, 1 Тб SSD).
Что нужно для участия?
— Берёшь любой курс Академии до 15 ноября.
— Проходишь хотя бы 2 недели обучения (можно за два дня).
— Пишешь куратору #розыгрыш. Всё — ты в игре!
Что за курсы?
▫️Алгоритмы и структуры данных — если хочешь готовиться к собесам в Яндекс, FAANG и не сидеть на джуне вечно.
▫️Архитектуры и шаблоны проектирования — учат думать как senior, а не просто писать код.
▫️ Python, математика для DS, основы IT и другие темы — можно стартовать с нуля или усилить то, что уже знаешь.
👉 Влетай, не думай!
Proglib.academy продолжает розыгрыш MacBook Pro 14» (M3 Pro, 36 Гб, 1 Тб SSD).
Что нужно для участия?
— Берёшь любой курс Академии до 15 ноября.
— Проходишь хотя бы 2 недели обучения (можно за два дня).
— Пишешь куратору #розыгрыш. Всё — ты в игре!
Что за курсы?
▫️Алгоритмы и структуры данных — если хочешь готовиться к собесам в Яндекс, FAANG и не сидеть на джуне вечно.
▫️Архитектуры и шаблоны проектирования — учат думать как senior, а не просто писать код.
▫️ Python, математика для DS, основы IT и другие темы — можно стартовать с нуля или усилить то, что уже знаешь.
👉 Влетай, не думай!
😁3🥱1
📦 Управление зависимостями Python с помощью `uv` (наглядно)
В экосистеме Python существует множество форматов для управления зависимостями —
С помощью `uv` можно управлять почти всеми из них — легко переходить между состояниями, обновлять, синхронизировать и восстанавливать окружения.
На графике показано, как именно можно переходить от одного состояния к другому с помощью команд
> 💡 Примечание: “libs in env” обозначает установленные зависимости в виртуальном окружении, созданном через
🐸 Библиотека питониста
#буст
В экосистеме Python существует множество форматов для управления зависимостями —
requirements.txt, pyproject.toml, uv.lock и другие.С помощью `uv` можно управлять почти всеми из них — легко переходить между состояниями, обновлять, синхронизировать и восстанавливать окружения.
На графике показано, как именно можно переходить от одного состояния к другому с помощью команд
uv.> 💡 Примечание: “libs in env” обозначает установленные зависимости в виртуальном окружении, созданном через
uv venv.#буст
Please open Telegram to view this post
VIEW IN TELEGRAM
👍11❤3🤩3
🧩 Чистый и безопасный код
— Как `with` делает Python-код безопаснее и читабельнее — пояснение работы контекстных менеджеров и best practices их использования.
— Код, за который не стыдно — практика чистописания: читаемый, поддерживаемый и аккуратный Python-код для начинающих.
— Сначала логика, потом код — как писать программы для ESP на MicroPython, правильно разделяя логику и реализацию.
⚙️ Веб, API и контейнеризация
— Как не положить API: rate limiting в Python — реализация ограничений по количеству запросов для защиты сервиса.
— Docker для Python-разработчика — как упаковать приложение в контейнер и запускать его где угодно.
— Библиотека для доступа к данным ЦБ: cbrapi — работа с финансовыми данными через Python, быстрый старт.
🌐 Проекты и инструменты
— Создаем GUI на Python с Flet — от простого скрипта до полноценного Markdown-редактора.
— Создаем свой create-react-app на Python — интерактивный генератор проектов с Typer и Questionary для быстрого старта.
🧠 Карьерные и трендовые темы
— Особенности Python для собеседований. Часть 2 — на что точно обратят внимание на техническом интервью.
— Почему Python так популярен в 2025 году — анализ трендов, причин популярности и перспектив развития языка.
#свежак
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3❤2
💻 Хочешь MacBook Pro? Просто начни учиться!
Да-да, вы не ослышались: Proglib.academy дарит макбук за учёбу!
Всё просто:
— купи любой курс Академии до 15 ноября;
— пройди 2 недели обучения (можно за два дня);
— напиши куратору в чате курса хэштег #розыгрыш.
📚 Выбирай свой курс:
▫️ «Математика для DS» — для тех, кто хочет уверенно работать с данными;
▫️ «Основы Python» — чтобы начать писать код с нуля;
▫️ «Алгоритмы и структуры данных» — для будущих инженеров;
▫️ «AI-агенты» или «Машинное обучение» — для тех, кто хочет прокачаться в ИИ.
👉 Участвовать в розыгрыше
Да-да, вы не ослышались: Proglib.academy дарит макбук за учёбу!
Всё просто:
— купи любой курс Академии до 15 ноября;
— пройди 2 недели обучения (можно за два дня);
— напиши куратору в чате курса хэштег #розыгрыш.
📚 Выбирай свой курс:
▫️ «Математика для DS» — для тех, кто хочет уверенно работать с данными;
▫️ «Основы Python» — чтобы начать писать код с нуля;
▫️ «Алгоритмы и структуры данных» — для будущих инженеров;
▫️ «AI-агенты» или «Машинное обучение» — для тех, кто хочет прокачаться в ИИ.
👉 Участвовать в розыгрыше
😁2❤1👾1
📅 Предложение по годовому циклу релизов Django
Django в этом году отметил 20-летие. За это время текущий график релизов доказал свою эффективность, но возникают вопросы:
☹️ Номера версий мало что говорят. Видя Django 2.2, сложно понять, когда он вышел и насколько устарел.
☹️ Версии выглядят как семантические (x.0), но на деле не содержат серьёзных изменений. Например, Django 6.0 почти не отличается от 5.2 LTS.
Проблемы текущего цикла:
— Поддержка старых LTS-версий затрудняет обновления Python и создаёт нагрузку на CI.
— Разработчикам сторонних пакетов приходится поддерживать старые версии дольше, чем хотелось бы.
— Большая часть пользователей долго остаётся на неподдерживаемых версиях.
Решение — годовой цикл релизов:
✔️ Один крупный релиз Django в год, вместо одного каждые 8 месяцев.
✔️ Использование календарного версионирования: первая цифра — год, вторая — номер релиза.
✔️ Пример:
✔️ Каждый релиз получает 1 год исправлений багов и 2 года безопасности, то есть каждая версия будет фактически LTS.
✔️ Поддержка только актуальных версий Python (или плюс последняя «жёлтая»), что снижает нагрузку на CI и синхронизирует EOL Django с EOL Python.
Преимущества:
— Прозрачный и предсказуемый график релизов.
— Облегчённое обновление для компаний и пользователей.
— Каждая версия получает долгосрочную поддержку и безопасность.
— Возможность смелых изменений API без потери стабильности, особенно с инструментом
📌 Итог:
Предлагается внедрить годовой цикл релизов начиная с Django 7.0, с предсказуемой поддержкой Python и LTS для каждого релиза. Это улучшит обновляемость, снизит нагрузку на разработчиков и повысит долю пользователей на поддерживаемых версиях.
Что думаете?
🐸 Библиотека питониста
#буст
Django в этом году отметил 20-летие. За это время текущий график релизов доказал свою эффективность, но возникают вопросы:
Проблемы текущего цикла:
— Поддержка старых LTS-версий затрудняет обновления Python и создаёт нагрузку на CI.
— Разработчикам сторонних пакетов приходится поддерживать старые версии дольше, чем хотелось бы.
— Большая часть пользователей долго остаётся на неподдерживаемых версиях.
Решение — годовой цикл релизов:
Django 2028.1 — первый релиз серии, 2028.2 — следующий.Преимущества:
— Прозрачный и предсказуемый график релизов.
— Облегчённое обновление для компаний и пользователей.
— Каждая версия получает долгосрочную поддержку и безопасность.
— Возможность смелых изменений API без потери стабильности, особенно с инструментом
django-upgrade для автоматических обновлений кода.📌 Итог:
Предлагается внедрить годовой цикл релизов начиная с Django 7.0, с предсказуемой поддержкой Python и LTS для каждого релиза. Это улучшит обновляемость, снизит нагрузку на разработчиков и повысит долю пользователей на поддерживаемых версиях.
Что думаете?
#буст
Please open Telegram to view this post
VIEW IN TELEGRAM
👍9❤1