Zen of Python
20.2K subscribers
1.2K photos
161 videos
32 files
3.14K links
Полный Дзен Пайтона в одном канале

Разместить рекламу: @tproger_sales_bot

Правила общения: https://tprg.ru/rules

Другие каналы: @tproger_channels

Сайт: https://tprg.ru/site

Регистрация в перечне РКН: https://tprg.ru/xZOL
Download Telegram
​​Зачем в проекте папка __pycache__?

Как только проект становится сложне, мы часто выносим часть функционала в отдельные модули или пакеты. Именно тогда из ниоткуда появляется __pycache__, причём в случайных местах:

project/

├── mathematics/
│ │
│ ├── __pycache__/
│ │
│ ├── arithmetic/
│ │ ├── __init__.py
│ │ ├── add.py
│ │ └── sub.py
│ │
│ ├── geometry/
│ │ │
│ │ ├── __pycache__/
│ │ │
│ │ ├── __init__.py
│ │ └── shapes.py
│ │
│ └── __init__.py

└── calculator.py

Разбираемся, что это за директория, зачем Python свой кэш и почему он нужен на многих «этажах» проекта.

#факты

@zen_of_python
👍21
​​PEP 667 | апгрейд пространства имён

В ранних версиях Python все пространства имён были словарями. Для повышения производительности namespace была изменена, что привело к непоследовательному поведению locals() и frame.f_locals.

Вывод скрипта на изображении, мягко говоря, смущает и приводит к багам.

Суть PEP:

— Сделать пространства имён функций, классов и модулей согласованными;
— Изменения в frame.f_locals незамедлительно отражаются в соответствующих переменных и наоборот;
— Функция locals() возвращает снимок frame.f_locals в случае функции.

— бывало такое;
🌭 — не сталкивался с locals();
🤓 — ещё только учусь читать PEP.

#факты

@zen_of_python
🌭15🤓15
​​Как Python сравнивает int и float

Интересная англоязычная статья с codingconfessions.com. Автор вкратце осветит стандарт хранения чисел в памяти (IEEE-754), расскажет про алгоритм CPython по сравнению целочисленных значений и чисел с плавающей запятой.

#факты

@zen_of_python
👍3🍌1
Даже ван Россум иногда выгорает

Создатель Python Гвидо ван Россум передал разработку ядра интерпретатора языка своему ближайшему коллеге Марку Шэннону:

"I'm tired of not knowing whether I am actually asked for a review, so I'm withdrawing my "ownership" from the core interpreter. Since that would leave the cases generator without owner, I'm volunteering Mark as the owner there (he most recently did a big refactoring so he knows his way around there)."

Это означает, что «пожизненный великодушный диктатор» по-прежнему влияет на то, какие фичи в языке будут реализованы в будущих версиях, но основную часть ревью передал опытному коллеге.

История о том, как разношёрстная публика опенсорсного комьюнити вымотала своими несопоставимыми требованиями одного из самых терпеливых гениев современности.

#факты

@zen_of_python
👍92🍌2❤‍🔥1🫡1
​​Flappy Bird на PyQt

Энтузиаст собрал свой клон небезызвестной игры в стиле endless runner и рассказал на Reddit, как шёл процесс разработки. Очень интересный пример пет-проекта, подъёмного даже для новичка.

#факты

@zen_of_python
Оптимизировать Python? Зачем?

Техлид Яндекс Такси Серёжа Яхницкий рассказал в мемах, как и чем техногигант повышает производительность питона.

Неожиданно расслабляющая форма изложения: здесь и про профилирование, и linux perf, и JIT-компиляцию. Понятно будет даже новичкам. Как раз позалипать на выходных.

#факты

@zen_of_python
👍7
​​Играть в симулятор фермы как настоящий питонист

Фанат Hay Day решил улучшить свои игровые результаты с помощью Google OR Tools — библиотеки для оптимизации процессов, маршрутов и проч. Получилась целая модель, и этот лонгрид — хороший способ для новичка познакомиться с проблемой оптимизации, будь то задача коммивояжёра или оптимизация нагрузки).

#факты

@zen_of_python
🔥3
​​Python в Excel: обзор от разработчика

Понятная англоязычная статья про текущие возможности и ограничения ЯП в рамках MS Excel. Здесь и Py про замену Power Query (язык запросов к таблице), и про чистку табличных данных, и про прогнозирование временных рядов.

— пробовал(-а) Python в Excel
🤔 — еще не доводилось пощупать

#факты

@zen_of_python
🤔165👍1
This media is not supported in your browser
VIEW IN TELEGRAM
Что нового в VSCode про Python

В блоге IDE опубликовали описание релиза для расширения Python. Если вкратце, то:

— внедрена интерактивная среда REPL. Теперь можно отправить код исполнятся в оболочку выделением строк и нажатием Shift + Enter (на видео);
— оптимизировано взаимодействие с pytest и проч.

Расширение на Visual Studio Marketplace

#факты

@zen_of_python
👍5
​​bytes | что это за тип данных и чем отличается от строки

Очень понятная англоязычная статья про неизменяемую последовательность байтов в числах от 0 до 255. Сегодня ее используют для хранения изображений, обмен данными по сети и сжатия.

#факты

@zen_of_python
👍31
​​Как опубликовать библиотеку на PyPi

Исчерпывающий гайд для тех, кто наконец создал что-то опенсорсное для Py-комьюнити и теперь хочет опубликовать свой пакет на pypi.org.

#факты #библиотека

@zen_of_python
🥰211
​​Как эффективнее объединять строки?

Норвежская разработчица разбирается (на английском), какие существуют методы слияния строк, и в какой реализации языка (CPython и проч.) процесс проходит быстрее. Хороший способ для новичков познакомиться с темой конкатенации и List Comprehension.

#факты

@zen_of_python
👍2
​​На чем ChatGPT исполняет код?

Внимательные пользователи этой LLM заметили, что некоторый код можно исполнять прямо в ходе диалога. Python-разработчик Джеймс Стенли копнул немного глубже и выяснил с помощью модуля os, на чем нейронка исполняет код.

#факты

@zen_of_python
👍6
​​Как новый NumPy 2.0 подспудно влияет на Pandas

Небольшое 12-минутное видео, в котором ютьюбер раскрывает, как изменилась логика математических операций в np и как это влияет на обсчёт столбца датафрейма.

#факты

@zen_of_python
👍3
Django 5.1: что нового

В августе выйдет новая версия фреймворка, в которой заявлены интересные фичи:

— тег {% query_string %}: упрощает создание ссылок, сохраняющих существующие параметры запроса;
— пулы соединений с PostgreSQL на psycopg (сокращает задержку);
LoginRequiredMiddleware отправит всех незалогинившихся на страницу авторизации и проч.

Release Notes

#факты

@zen_of_python
👍21
​​PyPiScout.com | Ищем либу по текстовому запросу

Видимо, недовольные поисковиком на pypi.org питонисты создали сайт, где инструмент под любую задачу можно найти с помощью запроса на естественном человеческом. На картинке видно интересное представление результатов — scatterplot-диаграмма, причём самый близкий результат получает увеличенный размер точки.

#факты

@zen_of_python
👍11😁1
​​JOY OF PROGRAMMING | Полноценная игра на Steam для изучающих Python

В ней нужно писать настоящий код, чтобы автоматизировать машины, роботов, дронов и другую технику. Внутри годное обучение, которое дословно объясняет, что нужно делать. Отзывы очень положительные: геймеры пишут, что игра реально затягивает, но порой бывает сложно. 

Профиль игры на Steam

#факты

🌭 — не люблю игры про программирование
— обожаю такое (напишите в комментариях, какая игра зацепила)

@zen_of_python
18🆒4👍2🌭1🍌1
​​Python без GIL: где попробовать

В версии 3.13 заядлых питонистов обрадовали возможностью отключить GIL (Global Interpreter Lock). Эта фича предотвращает одновременное выполнение нескольких потоков, что из года в год вызывает бурю возмущения от искушённых многопоточностью Go / Java и иже с ними.

На py-free-threading.github.io излагают и про установку такого CPython, и про совместимость, и про портирование модулей.

Подробнее про free-threaded Python

#факты

@zen_of_python
Графики с аннотациями на канвасе

Помните, когда в последний раз накладывали текст поверх экспортированноо графика? В небольшой англоязычной статье разобрались, как навешивать сноски на диаграмму.


gg.annotate(
'text',
x=exceeds100 + 2, y=5000 - 600,
label='Total coal production first\nexceeds 100 million tonnes\nper year.',
color=text_col,
family=body_font,
ha='left',
size=9,
va='top'
)


#факты

@zen_of_python
3
Python: итоги года от одного из друзей Python Software Foundation

Очень познавательный англоязычный лонгрид со статой из мира Python-разработки:

— какие облака популярны;
— какие фреймворки для чего используются;
— использование Docker + Kubernetes;
— какие менеджеры зависимостей побеждают и многое другое.

Читать

#факты

@zen_of_python
1