Зачем в проекте папка __pycache__?
Как только проект становится сложне, мы часто выносим часть функционала в отдельные модули или пакеты. Именно тогда из ниоткуда появляется __pycache__, причём в случайных местах:
Разбираемся, что это за директория, зачем Python свой кэш и почему он нужен на многих «этажах» проекта.
#факты
@zen_of_python
Как только проект становится сложне, мы часто выносим часть функционала в отдельные модули или пакеты. Именно тогда из ниоткуда появляется __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
👍2❤1
PEP 667 | апгрейд пространства имён
В ранних версиях Python все пространства имён были словарями. Для повышения производительности namespace была изменена, что привело к непоследовательному поведению
Вывод скрипта на изображении, мягко говоря, смущает и приводит к багам.
Суть PEP:
— Сделать пространства имён функций, классов и модулей согласованными;
— Изменения в
— Функция
⚡ — бывало такое;
🌭 — не сталкивался с locals();
🤓 — ещё только учусь читать PEP.
#факты
@zen_of_python
В ранних версиях 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
Интересная англоязычная статья с 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
Создатель 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
GitHub
Withdraw most of my ownership in favor of Mark by gvanrossum · Pull Request #119611 · python/cpython
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 ...
👍9❤2🍌2❤🔥1🫡1
Flappy Bird на PyQt
Энтузиаст собрал свой клон небезызвестной игры в стиле endless runner и рассказал на Reddit, как шёл процесс разработки. Очень интересный пример пет-проекта, подъёмного даже для новичка.
#факты
@zen_of_python
Энтузиаст собрал свой клон небезызвестной игры в стиле endless runner и рассказал на Reddit, как шёл процесс разработки. Очень интересный пример пет-проекта, подъёмного даже для новичка.
#факты
@zen_of_python
Оптимизировать Python? Зачем?
Техлид Яндекс Такси Серёжа Яхницкий рассказал в мемах, как и чем техногигант повышает производительность питона.
Неожиданно расслабляющая форма изложения: здесь и про профилирование, и linux perf, и JIT-компиляцию. Понятно будет даже новичкам. Как раз позалипать на выходных.
#факты
@zen_of_python
Техлид Яндекс Такси Серёжа Яхницкий рассказал в мемах, как и чем техногигант повышает производительность питона.
Неожиданно расслабляющая форма изложения: здесь и про профилирование, и linux perf, и JIT-компиляцию. Понятно будет даже новичкам. Как раз позалипать на выходных.
#факты
@zen_of_python
👍7
Играть в симулятор фермы как настоящий питонист
Фанат Hay Day решил улучшить свои игровые результаты с помощью Google OR Tools — библиотеки для оптимизации процессов, маршрутов и проч. Получилась целая модель, и этот лонгрид — хороший способ для новичка познакомиться с проблемой оптимизации, будь то задача коммивояжёра или оптимизация нагрузки).
#факты
@zen_of_python
Фанат Hay Day решил улучшить свои игровые результаты с помощью Google OR Tools — библиотеки для оптимизации процессов, маршрутов и проч. Получилась целая модель, и этот лонгрид — хороший способ для новичка познакомиться с проблемой оптимизации, будь то задача коммивояжёра или оптимизация нагрузки).
#факты
@zen_of_python
🔥3
Python в Excel: обзор от разработчика
Понятная англоязычная статья про текущие возможности и ограничения ЯП в рамках MS Excel. Здесь и Py про замену Power Query (язык запросов к таблице), и про чистку табличных данных, и про прогнозирование временных рядов.
⚡— пробовал(-а) Python в Excel
🤔 — еще не доводилось пощупать
#факты
@zen_of_python
Понятная англоязычная статья про текущие возможности и ограничения ЯП в рамках MS Excel. Здесь и Py про замену Power Query (язык запросов к таблице), и про чистку табличных данных, и про прогнозирование временных рядов.
⚡— пробовал(-а) Python в Excel
🤔 — еще не доводилось пощупать
#факты
@zen_of_python
🤔16⚡5👍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
В блоге IDE опубликовали описание релиза для расширения Python. Если вкратце, то:
— внедрена интерактивная среда REPL. Теперь можно отправить код исполнятся в оболочку выделением строк и нажатием Shift + Enter (на видео);
— оптимизировано взаимодействие с pytest и проч.
Расширение на Visual Studio Marketplace
#факты
@zen_of_python
👍5
bytes | что это за тип данных и чем отличается от строки
Очень понятная англоязычная статья про неизменяемую последовательность байтов в числах от 0 до 255. Сегодня ее используют для хранения изображений, обмен данными по сети и сжатия.
#факты
@zen_of_python
Очень понятная англоязычная статья про неизменяемую последовательность байтов в числах от 0 до 255. Сегодня ее используют для хранения изображений, обмен данными по сети и сжатия.
#факты
@zen_of_python
👍3❤1
Как опубликовать библиотеку на PyPi
Исчерпывающий гайд для тех, кто наконец создал что-то опенсорсное для Py-комьюнити и теперь хочет опубликовать свой пакет на pypi.org.
#факты #библиотека
@zen_of_python
Исчерпывающий гайд для тех, кто наконец создал что-то опенсорсное для Py-комьюнити и теперь хочет опубликовать свой пакет на pypi.org.
#факты #библиотека
@zen_of_python
🥰2⚡1❤1
Как эффективнее объединять строки?
Норвежская разработчица разбирается (на английском), какие существуют методы слияния строк, и в какой реализации языка (CPython и проч.) процесс проходит быстрее. Хороший способ для новичков познакомиться с темой конкатенации и List Comprehension.
#факты
@zen_of_python
Норвежская разработчица разбирается (на английском), какие существуют методы слияния строк, и в какой реализации языка (CPython и проч.) процесс проходит быстрее. Хороший способ для новичков познакомиться с темой конкатенации и List Comprehension.
#факты
@zen_of_python
👍2
На чем ChatGPT исполняет код?
Внимательные пользователи этой LLM заметили, что некоторый код можно исполнять прямо в ходе диалога. Python-разработчик Джеймс Стенли копнул немного глубже и выяснил с помощью модуля os, на чем нейронка исполняет код.
#факты
@zen_of_python
Внимательные пользователи этой LLM заметили, что некоторый код можно исполнять прямо в ходе диалога. Python-разработчик Джеймс Стенли копнул немного глубже и выяснил с помощью модуля os, на чем нейронка исполняет код.
#факты
@zen_of_python
👍6
Как новый NumPy 2.0 подспудно влияет на Pandas
Небольшое 12-минутное видео, в котором ютьюбер раскрывает, как изменилась логика математических операций в np и как это влияет на обсчёт столбца датафрейма.
#факты
@zen_of_python
Небольшое 12-минутное видео, в котором ютьюбер раскрывает, как изменилась логика математических операций в np и как это влияет на обсчёт столбца датафрейма.
#факты
@zen_of_python
👍3
Django 5.1: что нового
В августе выйдет новая версия фреймворка, в которой заявлены интересные фичи:
— тег
— пулы соединений с PostgreSQL на
—
Release Notes
#факты
@zen_of_python
В августе выйдет новая версия фреймворка, в которой заявлены интересные фичи:
— тег
{% query_string %}
: упрощает создание ссылок, сохраняющих существующие параметры запроса;— пулы соединений с PostgreSQL на
p
sycopg
(сокращает задержку);—
LoginRequiredMiddleware
отправит всех незалогинившихся на страницу авторизации и проч.Release Notes
#факты
@zen_of_python
👍2❤1
PyPiScout.com | Ищем либу по текстовому запросу
Видимо, недовольные поисковиком на pypi.org питонисты создали сайт, где инструмент под любую задачу можно найти с помощью запроса на естественном человеческом. На картинке видно интересное представление результатов — scatterplot-диаграмма, причём самый близкий результат получает увеличенный размер точки.
#факты
@zen_of_python
Видимо, недовольные поисковиком на pypi.org питонисты создали сайт, где инструмент под любую задачу можно найти с помощью запроса на естественном человеческом. На картинке видно интересное представление результатов — scatterplot-диаграмма, причём самый близкий результат получает увеличенный размер точки.
#факты
@zen_of_python
👍11😁1
JOY OF PROGRAMMING | Полноценная игра на Steam для изучающих Python
В ней нужно писать настоящий код, чтобы автоматизировать машины, роботов, дронов и другую технику. Внутри годное обучение, которое дословно объясняет, что нужно делать. Отзывы очень положительные: геймеры пишут, что игра реально затягивает, но порой бывает сложно.
Профиль игры на Steam
#факты
🌭 — не люблю игры про программирование
⚡— обожаю такое (напишите в комментариях, какая игра зацепила)
@zen_of_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
В версии 3.13 заядлых питонистов обрадовали возможностью отключить GIL (Global Interpreter Lock). Эта фича предотвращает одновременное выполнение нескольких потоков, что из года в год вызывает бурю возмущения от искушённых многопоточностью Go / Java и иже с ними.
На py-free-threading.github.io излагают и про установку такого CPython, и про совместимость, и про портирование модулей.
Подробнее про free-threaded Python
#факты
@zen_of_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
Очень познавательный англоязычный лонгрид со статой из мира Python-разработки:
— какие облака популярны;
— какие фреймворки для чего используются;
— использование Docker + Kubernetes;
— какие менеджеры зависимостей побеждают и многое другое.
Читать
#факты
@zen_of_python
❤1