Ты пишешь
Python скрывает сложность вычислений за удобными методами. Но чтобы расти из джуна в мидла/сеньора в DS, нужно понимать, что происходит внутри
Залетайте на курс по математике с живыми вебинарами.
Разбираем на практике:
— манипуляции с
— реализацию линейной регрессии без «коробочных» решений;
— применение SVD-разложения для реальных задач (рекомендации, сжатие).
—
Первый вебинар уже доступен в записи.
Присоединиться до 9 декабря:
https://clc.to/LojFzw
import numpy, но понимаешь ли ты магию?Python скрывает сложность вычислений за удобными методами. Но чтобы расти из джуна в мидла/сеньора в DS, нужно понимать, что происходит внутри
fit() и predict().Залетайте на курс по математике с живыми вебинарами.
Разбираем на практике:
— манипуляции с
ndarray: векторы, матрицы, транпонирование;— реализацию линейной регрессии без «коробочных» решений;
— применение SVD-разложения для реальных задач (рекомендации, сжатие).
—
Первый вебинар уже доступен в записи.
Присоединиться до 9 декабря:
https://clc.to/LojFzw
❤4👍1
Кто такой BDFL в рамках Python?
Anonymous Quiz
27%
Формальный руководитель Python Software Foundation
13%
Главный разработчик интерпретатора CPython
17%
Автор всех официальных библиотек Python
43%
Человек, у которого финальное слово в принятии решений
👍4❤3😁1
Pandas 3.0 почти подъехал — вышел первый релиз-кандидат
Команда наконец выложила pandas 3.0.0rc0, и, если не всплывут сюрпризы, финальный релиз выйдет совсем скоро.
Вышел Django 6.0 — фоновые задачи, partial templates и усиленная безопасность
Фреймворк продолжает аккуратно забирать то, что раньше приходилось решать сторонними пакетами. Фоновые задачи внутри Django — особенно приятный сигнал: меньше бойлерплейта и меньше причин тащить Celery туда, где он явно избыточен.
Первый взгляд на новые фоновые задачи в Django 6.0
Более приземлённый разбор того, как именно эти фоновые задачи выглядят на практике и где у них границы применимости. Полезное чтение, если рука уже тянется переписывать прод.
marimo — реактивный аналог Jupyter Notebook
Ноутбуки без вечной боли с порядком ячеек и «почему оно работает только сверху вниз». Реактивная модель выглядит как логичный эволюционный шаг для тех, кто устал от магии состояния в Jupyter.
context-async-sqlalchemy — аккуратный способ подружить SQLAlchemy с async Python
Минимум магии, понятное управление сессиями и меньше шансов случайно сломать себе event loop. Хороший пример того, как async-экосистема в Python постепенно взрослеет.
От Telegram-бота к AI-агенту: сборка «исполнителя задач» на Python в 2025
Практический туториал на стыке ботов, агентов и автоматизации. Хорошо показывает, как Python по-прежнему остаётся языком «быстро собрать что-то полезное, а потом уже думать».
Регулярные выражения в Python: почему парсеры тормозят
Про backtracking, неоптимальные шаблоны и неожиданные места, где regex начинает есть CPU без зазрения совести. После этой статьи хочется чуть осторожнее смотреть на .*.
Как ускорить автотесты в Pytest в 8,5 раза
Не магия, а системный подход: фикстуры, изоляция и понимание, где тратится время. Полезно всем, у кого тесты «вроде не такие уж большие», но CI почему-то думает иначе.
Python и паттерны GoF: Singleton
Спокойный разбор классического паттерна с оглядкой на реальности Python. Хорошее напоминание, что не всё из GoF одинаково полезно в динамическом мире.
Pydantic v2 и почему dataclasses всё ещё важны
Разговор не столько про библиотеку, сколько про архитектуру и разделение ответственности между данными и валидацией. Особенно актуально, если проект уже перерос один BaseModel.
Книга «Python для инженерных задач»
Про применение Python вне web и data — расчёты, автоматизация, инженерные кейсы. Хорошее противоядие от ощущения, что Python живёт только в Django и pandas.
🔹 Курс «Программирование на языке Python»
🔹 Получить консультацию менеджера
🔹 Сайт Академии 🔹 Сайт Proglib
#свежак
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4❤3
Иногда кажется, что управление конфигами в Python — это отдельный вид спорта:
env-переменные тут, YAML там, проверки типов где-то потом (если вообще).
Наткнулись на skelet — и, честно говоря, нам понравилось.
Это библиотека, которая аккуратно собирает все настройки проекта в одном месте и при этом:
По ощущениям — что-то между dataclasses, pydantic и здравым смыслом, но именно под конфигурации, а не «модели на все случаи жизни».
Отдельно улыбнуло:
В общем, если вам тоже близка мысль: «хочу, чтобы конфиг ломался сразу, а не в проде» — советуем посмотреть 👀.
🔹 Курс «Программирование на языке Python»
🔹 Получить консультацию менеджера
🔹 Сайт Академии 🔹 Сайт Proglib
#буст
Please open Telegram to view this post
VIEW IN TELEGRAM
👍9😁4❤2
Мы обычно скептически относимся к апдейтам IDE (ну серьёзно, кто читает все release notes), но тут JetBrains правда постарались.
Что понравилось нам:
В целом ощущение такое: PyCharm стал спокойнее, цельнее и чуть менее раздражающим в мелочах. А это, если честно, лучше любого «вау».
🔹 Курс «Программирование на языке Python»
🔹 Получить консультацию менеджера
🔹 Сайт Академии 🔹 Сайт Proglib
#свежак
Please open Telegram to view this post
VIEW IN TELEGRAM
👍16❤9🔥2🥰1🤩1🌚1
This media is not supported in your browser
VIEW IN TELEGRAM
PyAtlas — это интерактивная карта 10 000 самых популярных пакетов PyPI, где каждый пакет — точка в 2D-пространстве.
Фишка в том, что пакеты с похожими описаниями оказываются рядом. В итоге видно кластеры экосистемы: веб, дата-сайенс, ML и всё вот это.
Можно:
Автор честно признаётся: «полезно — может быть, может и нет». Зато интересно и отлично показывает, как embeddings, UMAP и кластеризация могут превращаться в наглядные штуки, а не только в статьи.
Подойдёт Python-разработчикам, любопытным исследователям экосистемы и тем, кто любит смотреть на данные глазами, а не таблицами.
🔹 Курс «Программирование на языке Python»
🔹 Получить консультацию менеджера
🔹 Сайт Академии 🔹 Сайт Proglib
#буст
Please open Telegram to view this post
VIEW IN TELEGRAM
❤6👍4🔥3
Хватит использовать `fit()` иватит использвслепую
Можно долго делать вид, что математика в Data Science не нужна, и полагаться на готовые реализации в
Мы обновили курс «Математика для разработки AI-моделей». Теперь это не просто лекции, а полноценный интерактив.
Что изменилось:
— мы добавили живые вебинары;
— первый уже прошел, но второй стартует сегодня (9 декабря);
— вы ещё успеваете влиться в поток и закрыть пробелы в фундаменте.
В программе:
— линейная алгебра и матанализ в контексте ML;
— теория вероятностей и статистика без воды;
— практика на реальных кейсах.
Перестаньте бояться формул и начните их применять.
Ссылка на регистрацию
Можно долго делать вид, что математика в Data Science не нужна, и полагаться на готовые реализации в
sklearn. Но на первом же серьезном собеседовании или при попытке оптимизировать кастомную лосс-функцию этот миф рушится.Мы обновили курс «Математика для разработки AI-моделей». Теперь это не просто лекции, а полноценный интерактив.
Что изменилось:
— мы добавили живые вебинары;
— первый уже прошел, но второй стартует сегодня (9 декабря);
— вы ещё успеваете влиться в поток и закрыть пробелы в фундаменте.
В программе:
— линейная алгебра и матанализ в контексте ML;
— теория вероятностей и статистика без воды;
— практика на реальных кейсах.
Перестаньте бояться формул и начните их применять.
Ссылка на регистрацию
😁3
This media is not supported in your browser
VIEW IN TELEGRAM
От первой строчки кода — до миллионов запросов в секунду.
В VK бэкендеры решают задачи, которые действительно меняют цифровой ландшафт. Узнайте об их принципах работы и драгоценных победах. По ссылке — истории из первых рук и вакансии для тех, кто не боится вызовов.
В VK бэкендеры решают задачи, которые действительно меняют цифровой ландшафт. Узнайте об их принципах работы и драгоценных победах. По ссылке — истории из первых рук и вакансии для тех, кто не боится вызовов.
❤1👾1
Forwarded from Библиотека программиста | программирование, кодинг, разработка
Летим зимовать ✈️
Когда холодает, айтишники пакуют чемоданы, а мы разыгрываем ваучер на 50 000 рублей в Островке.
Поехать к морю или остаться среди снежных пейзажей — выбирайте сами!
Чтобы участвовать, нужно оставить любую реакцию под этим постом и подписаться на каналы ниже:
😎 Типичный программист
🐸 Библиотека программиста
🟢 Ostrovok! Tech
Теперь осталось нажать на кнопку участия под этим постом и вы в игре!
Итоги подведём 12 декабря. Победителя выберем с помощью бота. Подробнее с правилами можно ознакомиться здесь.
Всем удачи!
Участников: 111
Призовых мест: 1
Дата розыгрыша: 19:00, 12.12.2025 MSK (3 дня)
Когда холодает, айтишники пакуют чемоданы, а мы разыгрываем ваучер на 50 000 рублей в Островке.
Поехать к морю или остаться среди снежных пейзажей — выбирайте сами!
Чтобы участвовать, нужно оставить любую реакцию под этим постом и подписаться на каналы ниже:
Теперь осталось нажать на кнопку участия под этим постом и вы в игре!
Итоги подведём 12 декабря. Победителя выберем с помощью бота. Подробнее с правилами можно ознакомиться здесь.
Всем удачи!
Участников: 111
Призовых мест: 1
Дата розыгрыша: 19:00, 12.12.2025 MSK (3 дня)
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥5❤1
Не всегда нужен огромный симулятор с физикой. Иногда хочется просто быстро потестить навигацию, контроль или RL — без сложной настройки.
IR-Sim как раз про это. Лёгкий симулятор на Python, который удобно использовать для прототипирования идей в роботонавигации и AI.
Почему стоит обратить внимание:
Что можно попробовать:
🔹 Курс «Программирование на языке Python»
🔹 Получить консультацию менеджера
🔹 Сайт Академии 🔹 Сайт Proglib
#буст
Please open Telegram to view this post
VIEW IN TELEGRAM
👍10❤1
Небольшой исторический экскурс для питонистов 👇
До Python был… ABC. И это не метафора.
ABC — самый прямой предшественник Python. Над ним Гвидо ван Россум работал в CWI примерно с 1983 по 1986 год. Многие идеи, которые мы сегодня считаем «питоновскими», выросли именно оттуда.
Что это вообще было:
Python во многом появился как ответ на ограничения ABC.
Что любопытно:
Если хочется посмотреть, каким мог бы быть Python в альтернативной вселенной — рекомендовано к чтению и листанию.
🔹 Курс «Программирование на языке Python»
🔹 Получить консультацию менеджера
🔹 Сайт Академии 🔹 Сайт Proglib
#буст
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8❤2🤩1
Python проповедует «должен быть один очевидный способ».
Но когда дело доходит до форматирования строк, у нас их целых четыре.
И все живы. И все работают. И все почему-то до сих пор используются.
Разбираемся, зачем Python столько лет собирал «зоопарк» способов форматирования и какой из них реально использовать в 2025 году.
🦖 C-style форматирование (%)
Самый старый способ, наследие времён динозавров и языка C.
Работает, но читать это — страдание:
"Error in %s at %d" % (module, line)
А если случайно перепутать аргументы — привет, дебаг.
Лучше не использовать в новом коде. Но logging до сих пор на нём живёт — там он действительно нужен.
🔧 .format() — попытка навести порядок
Пришло в Python 3 и казалось, оно победит. Фигурные скобки, именованные аргументы, красота:
"{host}:{port}".format(host="localhost", port=8080)Читается хорошо, работает надёжно. Но многословно, и имена приходится дублировать.
Использовать: можно, но есть лучше.
🚀 F-строки — любовь разработчиков с первого взгляда
Появились в Python 3.6 и моментально стали стандартом. Лаконично, быстро, удобно:
print(f"Hello, {user_name}")Даже вычисления внутри строки:
f"Pi = {math.pi:.3f}"И лучший инструмент для отладки —
=print(f"{user_id=}")Использовать: по умолчанию.
🧙 Сила Format Mini-Language
Настоящее волшебство начинается после двоеточия:
f"{price:,.2f}" # 1,234,567.89
f"{value:08b}" # бинарный с ведущими нулями
f"{date:%Y-%m-%d}" # форматирование датЭто отдельный маленький язык, и он мощнее, чем многие думают.
Когда f-строки — плохая идея:
F-строка вычислится всегда, даже если лог не будет выведен:
logging.debug(f"Result: {heavy_calc()}")Правильно:
logging.debug("Result: %s", heavy_calc)Не вздумайте:
f"SELECT * FROM users WHERE name = '{user_input}'"Лучше используйте параметры запросов.
Итоговая шпаргалка:
.format() — когда шаблон живёт отдельно от кода% — только для logging🔹 Курс «Программирование на языке Python»
🔹 Получить консультацию менеджера
🔹 Сайт Академии 🔹 Сайт Proglib
#буст
Please open Telegram to view this post
VIEW IN TELEGRAM
👍13❤8🔥2
Если вы когда-нибудь делали презентацию по научной статье, то знаете боль: копируй текст, вырезай картинки, выравнивай заголовки… и так по кругу.
Paper2Slides приходит, чтобы забрать эту карму себе.
Что умеет Paper2Slides:
Одна команда — и готово:
python -m paper2slides --input paper.pdf --output slides --style doraemon --length medium --fast --parallel 2
🔹 Курс «Программирование на языке Python»
🔹 Получить консультацию менеджера
🔹 Сайт Академии 🔹 Сайт Proglib
#буст
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥8👍4😁1🤩1
🧊Frozen dict в Python: PEP 814
Интересная новость из Python-мира: на обсуждение вынесен PEP 814, предлагающий добавить в стандартный язык frozendict — неизменяемый словарь как встроенный тип.
Почему это важно?
До сих пор в стандартной библиотеке не было простого и безопасного способа делиться словарями между потоками или агентами без риска гонок данных.
👉 PEP 814 пытается решить именно эту проблему.
Что такое frozendict?
Это иммутабельный словарь, не наследующий
Создаётся привычными способами:
Если все значения внутри тоже неизменяемые, то
✔️ его можно использовать как ключ в словаре
✔️ добавлять в set
✔️ кешировать через
Поддерживаются и объединения:
— всегда создаётся новый объект, что исключает побочные эффекты.
Сообщество PEP восприняло идею в целом тепло. Больше всего споров вызвало желание добавить O(1) заморозку словаря — например, через
Но менять тип существующего объекта в рантайме признали слишком рискованным: возможны сюрпризы для других потоков, держащих ссылку на словарь. Поэтому оптимизации отложили «на потом», чтобы не мешать движению самого PEP.
Учитывая актуальность темы для free-threaded Python, шанс принятия выглядит высоким.
🔗 Подробнее
🔹 Курс «Программирование на языке Python»
🔹 Получить консультацию менеджера
🔹 Сайт Академии 🔹 Сайт Proglib
🐸 Библиотека питониста
#буст
Интересная новость из Python-мира: на обсуждение вынесен PEP 814, предлагающий добавить в стандартный язык frozendict — неизменяемый словарь как встроенный тип.
Почему это важно?
До сих пор в стандартной библиотеке не было простого и безопасного способа делиться словарями между потоками или агентами без риска гонок данных.
Что такое frozendict?
Это иммутабельный словарь, не наследующий
dict, а реализующий интерфейс Mapping.Создаётся привычными способами:
fd = frozendict(a=1, b=2)
fd = frozendict({'a': 1, 'b': 2})
fd = frozendict([('a', 1), ('b', 2)])
Если все значения внутри тоже неизменяемые, то
frozendict становится хэшируемым, значит:functools.lru_cacheПоддерживаются и объединения:
frozendict(x=1) | frozendict(y=1)
— всегда создаётся новый объект, что исключает побочные эффекты.
Сообщество PEP восприняло идею в целом тепло. Больше всего споров вызвало желание добавить O(1) заморозку словаря — например, через
d.freeze().Но менять тип существующего объекта в рантайме признали слишком рискованным: возможны сюрпризы для других потоков, держащих ссылку на словарь. Поэтому оптимизации отложили «на потом», чтобы не мешать движению самого PEP.
Учитывая актуальность темы для free-threaded Python, шанс принятия выглядит высоким.
🔹 Курс «Программирование на языке Python»
🔹 Получить консультацию менеджера
🔹 Сайт Академии 🔹 Сайт Proglib
#буст
Please open Telegram to view this post
VIEW IN TELEGRAM
👍13❤4🔥4
PythonNotesForProfessionals.pdf
6.1 MB
Делимся полезным ресурсом для всех, кто учит Python или хочет держать его под рукой: Python Complete Notes.
🎯 Отлично подходит для учебы, быстрой проверки и повторения материала.
#буст
Please open Telegram to view this post
VIEW IN TELEGRAM
👍12❤6🤩1
Please open Telegram to view this post
VIEW IN TELEGRAM
😁20❤7👏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
👍9🔥5❤1
tyro 1.0 — CLI из type hints
Релиз tyro 1.0 — генерация CLI-интерфейсов напрямую из аннотированного Python-кода. Минимум бойлерплейта, максимум типизации. Наконец-то инструмент, который не заставляет выбирать между «быстро» и «аккуратно». Type hints реально начинают работать на вас, а не просто радовать линтер.
RoadMap по Python: с нуля до middle
Подробный маршрут обучения Python с акцентом на практику и реальные навыки. Полезно не только новичкам — хороший чек-лист, чтобы понять, где у вас пробелы, даже если вы уже «давно в профессии».
Django 6.0: эволюция фреймворка в деталях
Разбор ключевых изменений Django 6.0 и того, куда движется фреймворк. Django всё дальше уходит от образа «только для CRUD». Фоновые задачи и архитектурные улучшения — сигнал, что фреймворк взрослеет вместе с проектами.
Python + Fortran: когда NumPy уже мало
Как ускорить Python-код в 150 раз с помощью Fortran, не погружаясь в C++. Отличный пример того, что Python — это не про «медленно», а про правильную композицию инструментов.
Что нового в PyCharm 2025.3
Обновления IDE: улучшения анализа кода, AI-фичи и удобства для больших проектов.я
🔹 Курс «Программирование на языке Python»
🔹 Получить консультацию менеджера
🔹 Сайт Академии 🔹 Сайт Proglib
#свежак
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5❤3
В Python 3.14 появился новый пакет
compression — и это тот редкий случай, когда «объединили старое и добавили новое» получилось реально полезно.Теперь работа со сжатием — это единый интерфейс, а не квест из пяти разных модулей и документаций.
В пакете
compression собрали сразу 5 алгоритмов:bz2gziplzmazlibПричём первые четыре и раньше были в стандартной библиотеке, но теперь их рекомендуют импортировать через
compression, чтобы всё было в одном стиле:
from compression import gzip, zstd
У всех модулей есть:
compress(data)
decompress(data)
Можно буквально перебрать алгоритмы в цикле и сравнить результат. Да, Python теперь позволяет выбрать компрессию так же просто, как сортировку.
На тестовых данных
zstd сжимает в 2+ раза лучше, чем старые алгоритмы.Меньше байтов — меньше боли при хранении, передаче и бэкапах:
from compression import zstd
compressor = zstd.ZstdCompressor()
result = b""
bytes_processed = 0
for chunk in incoming_data_stream():
# `chunk` is a new batch of data.
bytes_processed += len(chunk)
# We compress this batch.
result += compressor.compress(chunk)
result += compressor.flush()
ratio = len(result) / bytes_processed
print(f"{100 * ratio:>.2f}%") # 0.56%
Например:
with zstd.open("data.zst", "wt") as f:
f.write("Hello, world!" * 1000)
Для стримов, логов и больших данных есть компрессоры и декомпрессоры:
Например:
compressor = zstd.ZstdCompressor()
compressor.compress(chunk)
compressor.flush()
📍 Навигация: Вакансии • Задачи • Собесы
#буст
Please open Telegram to view this post
VIEW IN TELEGRAM
👍16❤4😁2