Мы обычно скептически относимся к апдейтам 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
❤5👍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
import knowledge as powerPython хорош тем, что на нем можно написать всё. Но чтобы писать хорошо и дорого, одного синтаксиса мало. Нужна математика, алгоритмы и понимание архитектуры.
Акция 1 + 2:
Забирай три курса по цене одного. Платишь за самый дорогой, остальные —
None (в смысле, бесплатно).Топ выбор:
— алгоритмы и структуры данных;
— математика для Data Science (если тянет в ML).
Обновить зависимости
До 31 декабря.
Помощь в консоли: @manager_proglib
🤔 Единый стандарт для «служебных» комментариев в коде
В Python куча инструментов — линтеры, форматтеры, анализаторы покрытия, type-checkers.
И почти каждый из них использует специальные комментарии в коде: # noqa, # type: ignore, # fmt: off, # nosec и так далее.
Проблема в том, что единого стандарта для таких комментариев до сих пор не было.
Metacode вводит простой и понятный формат машиночитаемых комментариев, основанный на подмножестве синтаксиса Python:
Например:
Такой формат:
— легко читать человеку
— легко парсить машине
— позволяет несколько комментариев в одной строке
— не привязан к конкретному инструменту
У библиотеки минимальный API:
▪️ parse() — читает комментарии и возвращает структурированный результат
▪️ insert() — аккуратно добавляет комментарии в код
Поддерживаются строки, числа, bool, None, ..., а при желании — даже AST.
🔗 Github
📍 Навигация: Вакансии • Задачи • Собесы
🐸 Библиотека питониста
#буст
В Python куча инструментов — линтеры, форматтеры, анализаторы покрытия, type-checkers.
И почти каждый из них использует специальные комментарии в коде: # noqa, # type: ignore, # fmt: off, # nosec и так далее.
Проблема в том, что единого стандарта для таких комментариев до сих пор не было.
Metacode вводит простой и понятный формат машиночитаемых комментариев, основанный на подмножестве синтаксиса Python:
# key: action[arg1, arg2]
Например:
# type: ignore[error-code]
# fmt: off
Такой формат:
— легко читать человеку
— легко парсить машине
— позволяет несколько комментариев в одной строке
— не привязан к конкретному инструменту
У библиотеки минимальный API:
▪️ parse() — читает комментарии и возвращает структурированный результат
▪️ insert() — аккуратно добавляет комментарии в код
Поддерживаются строки, числа, bool, None, ..., а при желании — даже AST.
🔗 Github
📍 Навигация: Вакансии • Задачи • Собесы
#буст
Please open Telegram to view this post
VIEW IN TELEGRAM
❤4👍4