Logo
TGCATALOG
Catalog Collections Blog
Zen of Python - Zen

Zen of Python - Zen

Complete guide to Python philosophy and practice in one channel.

No ratings
1,001
26.10.2026
1,001
26.10.2026
No ratings
1,001
26.10.2026
Safe redirect via bot
О канале

Complete guide to Python philosophy and practice in one channel.

Подписчиков 18,744
Тематика IT
Язык English
Ссылка t.me/zen_of_python
Description

Zen of Python - channel dedicated to Python philosophy and practices. Lessons, scripts, best practices and materials for mastering the language in Telegram.

Latest posts

Zen of Python - Zen
Zen of Python - Zen
🔒Открыть пост
и посмотреть медиа
Почему CPython остаётся стековой машиной, а её соседи уходят на регистры Байткод CPython стековый: a + b это LOAD_FAST a, LOAD_FAST b, BINARY_OP. Максим Шевалье-Буавер, в прошлом автор YJIT для Ruby, измерила на своём языке Plush, сколько стоит такая модель: после перехода на регистровый байткод, где то же сложение одна инструкция с тремя операндами, медианное ускорение по тестам составило 2,07 раза, максимальное 3,37, а тесты сборщика мусора не изменились вовсе. Замеры честные: 11 чередующихся запусков, медиана, повтор набора; в сравнении участвовал и CPython 3.14.6, но автор оговаривает разную семантику языков. Вывод один: в интерпретаторе главный рычаг это число инструкций на диспетчеризацию. Как устроено новое 64-битное слово инструкции и почему Lua ограничена 255 регистрами на фрейм, на сайте. @zen_of_python
Zen of Python - Zen
Zen of Python - Zen
🔒Открыть пост
и посмотреть медиа
После обновления на Polars 2.0 ваши join и group_by могут вернуть строки в другом порядке Ричи Винк выпустил первый release candidate Polars 2.0 и сам называет релиз скучным: новых функций почти нет, мажорную версию подняли, чтобы избавиться от старых решений и поменять дефолты. Главная смена дефолта: все запросы LazyFrame теперь идут через потоковый движок, который обрабатывает данные порциями. В совокупности авторы ожидают «легко в 5 раз быстрее» и заметно меньше памяти. Плата за это в том, что порядок строк после операций больше не гарантирован. Если код где-то молча полагался на порядок после join или group_by, он сломается тихо. К релизу выложен полный migration guide, и заглянуть в него стоит до того, как обновитесь.
Zen of Python - Zen
Zen of Python - Zen
🔒Открыть пост
и посмотреть медиа
Что происходит между np.add(a, b) и SIMD-циклом: разбор пути одного вызова np.add не функция Python, а объект C-типа numpy.ufunc с 22 сигнатурами в np.add.types. Файт Хеллер прослеживает, что происходит с вызовом для dd->d, двух массивов float64. 🔘 ufunc_generic_vectorcall и ufunc_generic_fastcall проверяют overrides и конвертируют аргументы; 🔘 promote_and_get_ufuncimpl и resolve_descriptors выбирают реализацию и dtype результата; 🔘 реестр встроенных ufunc порождается скриптом generate_umath.py в файл __umath_generated.c; для add bool-цикл переиспользует logical_or, а object-массивы уходят в PyNumber_Add; 🔘 циклы собираются в нескольких вариантах под наборы инструкций (X86_V2, X86_V3, NEON, ASIMD), и нужный выбирается при импорте. Какой вариант реально работает у вас, покажет numpy.lib.introspect.opt_func_info(func_name="add", signature="float64"). @zen_of_python
Zen of Python - Zen
Zen of Python - Zen
🔒Открыть пост
и посмотреть медиа
Polars 2.0 RC: после обновления ваши join и group_by могут вернуть строки в другом порядке Polars выпустила первый release candidate версии 2.0. Автор библиотеки Ричи Винк пишет, что релиз должен быть «скучным»: новых функций почти нет, меняются дефолты. Главный из них: LazyFrame.collect() теперь идёт через потоковый движок, который обрабатывает данные порциями. Авторы ожидают, что в совокупности он «легко в 5 раз быстрее», но порядок строк после join, group_by и unpivot он не гарантирует. Если код молча полагался на порядок, например брал head(1) после группировки, добавьте maintain_order (у join и group_by) или явный sort. Старый движок возвращается через pl.Config.set_engine_affinity("in-memory"). Вторая часть релиза про то, чтобы падать сразу, а не через 20 минут работы пайплайна. is_in между Int64 и Float64 больше не округляет молча: 9007199254740993 раньше превращался в 9007199254740992 и давал ложное совпадение, теперь InvalidOperationError. Горизонтальный concat таблиц разной высоты бросает ShapeError вместо заполнения null. Вместо cast(pl.Date) только .str.to_date(), вместо каста целых в Enum только .cat.to(). В CSV без заголовка колонки теперь нумеруются с column_0. Большинство удалённых методов отвечают AttributeRemovedError с подсказкой, чем заменить. Поставить в отдельное окружение: pip install polars==2.0rc1. Чек-лист, что проверить до финального релиза, собрали на сайте. @zen_of_python
Zen of Python - Zen
Zen of Python - Zen
🔒Открыть пост
и посмотреть медиа
PyTorch 2.14 уже собран под Python 3.15, но компилировать модели под ним пока нельзя PyTorch Foundation выпустила 2.14: 2995 коммитов от 487 участников. 🔘 wheels для Python 3.15 и free-threaded 3.15t есть для Linux, Windows и macOS, но лежат на download․pytorch․org, не на PyPI; 🔘 torch.compile под 3.15 в этом релизе не работает и завершается RuntimeError, только eager; 🔘 torch.switch обобщает torch.cond на несколько веток, torch.while_loop захватывается CUDA Graphs; 🔘 удалены torch.cholesky, torch.qr, параметр профилировщика use_cuda; acc_policy="balanced" теперь ValueError; 🔘 у скалярного clamp градиент на границе стал 0 вместо 1, модели с клиппингом могут учиться иначе. Сам Python 3.15 выходит 1 октября, второй rc был 1 сентября, так что проверить совместимость кода можно уже сейчас, а замеры с компиляцией придётся отложить. Чек-лист обновления на сайте. @zen_of_python
Zen of Python - Zen
Zen of Python - Zen
🔒Открыть пост
и посмотреть медиа
Повторите 44% на ARC-AGI-1 на PyTorch за полтора часа и 67 центов ARC-AGI-1 это тысяча задач на цветных сетках, где по паре примеров нужно угадать правило. Митхил Вакде обучил трансформер на 75 млн параметров с нуля и получил 44% на публичном eval за 1,5 часа на RTX 5090. Код открыт под MIT. 🔘 задачи превращаются в последовательности токенов, модель учится авторегрессионно; 🔘 обучение во время теста: на train- и eval-задачах при скрытых ответах; 🔘 обучаемые 3D RoPE для двумерных сеток и отдельный additive embedding на задачу; 🔘 8 слоёв, SwiGLU вместо GELU, RMSNorm вместо LayerNorm, flash attention с varlen на обучении, flex attention на inference; 🔘 удаление обучения на входных токенах подняло результат с 40% до 44%, автор пишет «я не понимаю почему»; 🔘 нужны CUDA выше 12.8, лучше 13.0; на ARC-2 та же модель даёт 7%. Репозиторий mdlARC, ограничения замера разобрали на сайте. @zen_of_python
Zen of Python - Zen
Zen of Python - Zen
🔒Открыть пост
и посмотреть медиа
uv 0.12.9 закрыл проблему с памятью при чтении чужих wheel и добавил CPython 3.15.0rc2 Релиз 1 сентября. Из важного: 🔘 обновлён async_http_range_reader до 0.11.1: закрыта потенциальная проблема memory-safety при чтении метаданных из недоверенных wheel по HTTP range; 🔘 чувствительные заголовки больше не утекают при редиректах между зонами аутентификации, включая смену схемы на том же хосте; 🔘 секреты в подписанных URL вырезаются из диагностики повторов; 🔘 новые флаги --no-locked и --no-frozen отключают режимы из UV_LOCKED и UV_FROZEN на один вызов, а --locked, --frozen, --check теперь важнее переменных окружения; 🔘 холодная установка wheel быстрее: каждый ZIP распаковывается в одной блокирующей задаче с переиспользованием буферов; 🔘 добавлен CPython 3.15.0rc2. Если ставите пакеты из сторонних индексов, обновляйтесь. Заметки к релизу. @zen_of_python
Zen of Python - Zen
Zen of Python - Zen
🔒Открыть пост
и посмотреть медиа
Вышел Python 3.15.0rc2: до финала 1 октября осталось проверить свои пакеты Второй релиз-кандидат опубликован 1 сентября: 144 исправления от 76 участников после rc1. Главное в нём то, чего уже не будет: ABI заморожен, и wheels, собранные на rc2, будут работать с финальной 3.15 и всеми её патч-версиями. Значит, мейнтейнеры расширений на C могут собирать и выкладывать колёса под 3.15 уже сейчас. 🔘 экспериментальный JIT даёт в среднем 8–9% к обычному интерпретатору на x86-64 Linux и 12–13% к tail-calling-интерпретатору на AArch64 macOS, разработчики просят прогнать на нём свои нагрузки и сообщить о регрессиях 🔘 в прод rc2 ставить не рекомендуют, для CI и тестов совместимости он и предназначен Ставится через uv python install 3.15.0rc2 или с python.org. Что означает заморозка ABI, сколько даёт JIT и что проверить мейнтейнеру разобрали на сайте. @zen_of_python
Zen of Python - Zen
Zen of Python - Zen
🔒Открыть пост
и посмотреть медиа
Python Tutor прокручивает вашу программу по шагам прямо в браузере Результат неверный, а где именно состояние поехало — непонятно, и код обрастает print. Python Tutor запускает программу на pythontutor.com и позволяет ходить по шагам вперёд и назад: видно значения переменных, как меняются списки и словари, какие объекты друг на друга ссылаются, какая функция выполняется и откуда её вызвали. Ставить ничего не нужно, регистрации нет, код вставляется прямо на странице. Кроме Python поддерживаются Java, C, C++ и JavaScript. С 2010 года сервисом воспользовались больше 25 млн человек, он построил свыше 500 млн визуализаций. В нашем канале «Точка входа» разобрали подробнее.
Zen of Python - Zen
FAQ

Open Zen of Python - Zen in Telegram and press the Start button. No separate registration is required.

Yes. The service is designed to be straightforward: open the resource, follow the on-screen instructions and start using it.

No. You can use Zen of Python - Zen directly in Telegram unless the resource description says otherwise.

Access depends on the resource. Check the current information in Telegram after opening Zen of Python - Zen.

The exact features depend on the resource. Open Zen of Python - Zen to see its current functions, content and access conditions.
Subscriber dynamics
+-0.4% last 30 days
Current
18,744
Month ago
18,817
Average growth
+-2 / day
Updated
13 hours ago

Reviews for channel Zen of Python - Zen

Log in to leave a review

Only registered users can share their opinion.

No reviews yet

Be the first to share your impression of this resource!

Similar resources

Loading
Switch to Light Theme
Home Catalog Collections Blog Login