На случай, если вы все еще бухаете морально не готовы вернуться к работе, на GitHub бесплатно дают кодить с целым букетом LLM:
— ChatGPT
— DeepSeek
— Mistral
— MIcrosoft Phi и проч.
Выставил такого ИИ-работника вместо себя в начале недели — и никто не поймет подмены.
#инструмент
@zen_of_python
— ChatGPT
— DeepSeek
— Mistral
— MIcrosoft Phi и проч.
Выставил такого ИИ-работника вместо себя в начале недели — и никто не поймет подмены.
#инструмент
@zen_of_python
Держите питонический амулет. Он защитит вас завтра от груженых понедельников, и коллег с «домайскими» отложенными задачами.
#кек
@zen_of_python
#кек
@zen_of_python
Солидный апдейт pip
Среди новшеств версии 25.1:
— Группы зависимостей: Теперь можно устанавливать «пачками», определёнными в
— Возобновляемые загрузки: прерванные из-за нестабильного интернета загрузки все же выполнятся;
— Индикатор прогресса установки;
— Ускорение
— Улучшенные сообщения об ошибках: Сообщения об ошибках при удалении пакетов стали более информативными.
Release Note
#инструмент
@zen_of_python
Среди новшеств версии 25.1:
— Группы зависимостей: Теперь можно устанавливать «пачками», определёнными в
pyproject.toml
. Это позволяет устанавливать, например, только зависимости для тестирования или разработки:pip install --group test
— Возобновляемые загрузки: прерванные из-за нестабильного интернета загрузки все же выполнятся;
— Индикатор прогресса установки;
— Ускорение
pip show
, pip freeze
на 15–30%;— Улучшенные сообщения об ошибках: Сообщения об ошибках при удалении пакетов стали более информативными.
Release Note
#инструмент
@zen_of_python
GlyphX | Старший брат Matplotlib
Альтернатива общепринятому инструменту визуализации, glyphx предлагает:
— SVG-рендеринг;
— интерактивность по умолчанию (как у plotly);
— палитры с темными темами и для людей с особенностями зрения.
Таргетировано на научные работы, где важна глубокая кастомизация и редкие типы диаграмм.
#инструмент
@zen_of_python
Альтернатива общепринятому инструменту визуализации, glyphx предлагает:
— SVG-рендеринг;
— интерактивность по умолчанию (как у plotly);
— палитры с темными темами и для людей с особенностями зрения.
Таргетировано на научные работы, где важна глубокая кастомизация и редкие типы диаграмм.
#инструмент
@zen_of_python
Тестирование на Python для продвинутых: кейсы, инструменты, ошибки
22 мая в 20:00 — вебинар для тех, кто хочет вывести тестирование на новый уровень.
На вебинаре вы узнаете:
— как тестировать async-код, базы данных и работу с файлами
— частые ошибки: избыточные моки, хрупкие тесты и антипаттерны
— инструменты pro-уровня: pytest, tox, coverage и др.
— как ускорить прогон без потери качества
— реальные кейсы и подходы из продакшена
Подходит для опытных Python-разработчиков, лидов, архитекторов и всех, кто пишет тесты, но хочет делать это лучше, быстрее и стабильнее. Вебинар проходит в преддверии старта курса «Python Developer. Professional». Участникам — скидка на обучение!
Участие бесплатное
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
22 мая в 20:00 — вебинар для тех, кто хочет вывести тестирование на новый уровень.
На вебинаре вы узнаете:
— как тестировать async-код, базы данных и работу с файлами
— частые ошибки: избыточные моки, хрупкие тесты и антипаттерны
— инструменты pro-уровня: pytest, tox, coverage и др.
— как ускорить прогон без потери качества
— реальные кейсы и подходы из продакшена
Подходит для опытных Python-разработчиков, лидов, архитекторов и всех, кто пишет тесты, но хочет делать это лучше, быстрее и стабильнее. Вебинар проходит в преддверии старта курса «Python Developer. Professional». Участникам — скидка на обучение!
Участие бесплатное
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
Апгрейд Win-установочника Python
Разработчики языка оптимизируют процесс установки Python на Windows с помощью т.н. PyManager. Вот его ключевые обновления:
— Единый инструмент установки: Ранее существовало несколько способов установки Python на Windows: традиционный установщик
— Управление несколькими версиями: PyManager позволяет устанавливать и управлять несколькими версиями Python одновременно, включая возможность установки конкретных версий и архитектур (например,
PEP-773
#факт
@zen_of_python
Разработчики языка оптимизируют процесс установки Python на Windows с помощью т.н. PyManager. Вот его ключевые обновления:
— Единый инструмент установки: Ранее существовало несколько способов установки Python на Windows: традиционный установщик
.exe
, пакет в Microsoft Store и NuGet-пакеты. PyManager объединяет их в один инструмент, упрощая процесс установки и управления версиями Python.— Управление несколькими версиями: PyManager позволяет устанавливать и управлять несколькими версиями Python одновременно, включая возможность установки конкретных версий и архитектур (например,
py install 3.11.4 --arch=arm64
). Это особенно полезно для тестировщиков.PEP-773
#факт
@zen_of_python
В последний год вы использовали в своем коде __init__?
Anonymous Poll
67%
Да
14%
Нет
11%
Я не помню, что было на завтрак, а вы просите год назад вспомнить
9%
Хочу увидеть результат
Бывает, просыпаешься утром и понимаешь — хочется перемен. Сменить город, страну, климат. Поработать с видом на океан или встретить закат в кофейне где-нибудь в центре Европы. Только вот отпуска на всё не хватает.
А может, и не нужен отпуск? Есть компании, где работать можно откуда угодно — хоть с берега, хоть с балкона, хоть из уютного офиса, если так больше нравится.
Точка — как раз из таких. Здесь главное — результат, а не география. Ты сам выбираешь, где тебе комфортно: дома, в классном офисе или в другом часовом поясе.
В финтех-компании Точка работает 1300 IT-специалистов — разработчиков, продактов, дата-сайентистов и дизайнеров. Они создают IT-продукты, которым доверяют 700 000 предпринимателей. Здесь ценят инициативу, самостоятельность и продуманность решений.
Хочешь жить по своим правилам и при этом делать классные вещи вместе с командой?
Переходи по ссылке — там подробно расписано, как в Точке работают и кого сейчас ищут. Возможно, это именно твой путь.
Это #партнёрский пост
А может, и не нужен отпуск? Есть компании, где работать можно откуда угодно — хоть с берега, хоть с балкона, хоть из уютного офиса, если так больше нравится.
Точка — как раз из таких. Здесь главное — результат, а не география. Ты сам выбираешь, где тебе комфортно: дома, в классном офисе или в другом часовом поясе.
В финтех-компании Точка работает 1300 IT-специалистов — разработчиков, продактов, дата-сайентистов и дизайнеров. Они создают IT-продукты, которым доверяют 700 000 предпринимателей. Здесь ценят инициативу, самостоятельность и продуманность решений.
Хочешь жить по своим правилам и при этом делать классные вещи вместе с командой?
Переходи по ссылке — там подробно расписано, как в Точке работают и кого сейчас ищут. Возможно, это именно твой путь.
Это #партнёрский пост
Почему все реже встречается __init__
В питоническом комьюнити некоторые призывают отказаться от пользовательских методов
До Python 3.7 разработчикам приходилось вручную определять этот метод для инициализации атрибутов экземпляра класса. Например, чтобы создать объект
С появлением «структур данных» необходимость в ручном определении
Это не единственное решение: Создание объектов через фабричные методы позволяет (@classmethod) отделить логику инициализации от конструкции объекта.
Вот еще пример проблемы, вызванной пользовательским методом инициализации:
Атрибуты, инициализируемые в
#основы
@zen_of_python
В питоническом комьюнити некоторые призывают отказаться от пользовательских методов
__init__
в контексте dataclasses.До Python 3.7 разработчикам приходилось вручную определять этот метод для инициализации атрибутов экземпляра класса. Например, чтобы создать объект
2DCoordinate(x=1, y=2)
, необходимо было явно прописать метод init с параметрами x
и y
. Альтернативы — фабричные функции и абстрактные классы, были менее удобны и приводили к усложнению кода.С появлением «структур данных» необходимость в ручном определении
__init__
для простых структур данных отпала:
from dataclasses import dataclass
@dataclass
class Person:
name: str
age: int
person = Person(name="Alice", age=30)
print(person)
Это не единственное решение: Создание объектов через фабричные методы позволяет (@classmethod) отделить логику инициализации от конструкции объекта.
Вот еще пример проблемы, вызванной пользовательским методом инициализации:
class FooBarWidget(FooWidget):
def __init__(self):
self.publisher = zmq.Context.instance().socket(zmq.PUSH)
self._init()
def _init(self):
def worker_thread_start():
FooWidget.__init__(self)
self.run()
worker_thread = Thread(target=worker_thread_start, daemon=True)
worker_thread.start()
Атрибуты, инициализируемые в
FooWidget.__init__
, могут быть недоступны в основном потоке до завершения инициализации в дочернем потоке, что вызывает ошибки при обращении к ним.#основы
@zen_of_python
Telegram
Zen of Python
Полный Дзен Пайтона в одном канале
Разместить рекламу: @tproger_sales_bot
Правила общения: https://tprg.ru/rules
Другие каналы: @tproger_channels
Сайт: https://tprg.ru/site
Регистрация в перечне РКН: https://tprg.ru/xZOL
Разместить рекламу: @tproger_sales_bot
Правила общения: https://tprg.ru/rules
Другие каналы: @tproger_channels
Сайт: https://tprg.ru/site
Регистрация в перечне РКН: https://tprg.ru/xZOL
Качество кода в эпоху LLM
Один из сеньоров сказал на одной конференции:
«Если разработчик не использует LLM для автоматизации рутины, то он просто тратит ресурсы своей компании»
Вот на таком прокрустовом ложе мы с вами оказались: c LLM база мгновенно забывается, без нее — пишешь / отлаживаешь медленнее.
ИИ-ассистенты:
— генерируют код по промту;
— предлагают автодополнение на основе контекста;
— подсказывают, как улучшить код.
Но они реактивные — не анализируют весь проект автоматически. ИИ не гарантирует соответствие стандартам проекта, превращая код в кашу.
Если вы уже не готовы отказаться от копайлотов вроде ChatGPT или Cursor, с качеством кода помогут несправедливо забытые:
— линтеры (pylint, flake8);
— тайпчекеры (mypy);
— security-сканеры (bandit);
— «покрыватели тестами» (coverage, pytest-cov);
— профилировщики (cProfile).
Вышеописанные инструменты:
— формализуют согласно стандарту PEP8;
— находят ошибки, неиспользуемые импорты, — «мертвый код», несоответствия типов (
— работают без контекста задачи — поэтому «беспристрастны»;
#инструмент #основы
@zen_of_python
Один из сеньоров сказал на одной конференции:
«Если разработчик не использует LLM для автоматизации рутины, то он просто тратит ресурсы своей компании»
Вот на таком прокрустовом ложе мы с вами оказались: c LLM база мгновенно забывается, без нее — пишешь / отлаживаешь медленнее.
ИИ-ассистенты:
— генерируют код по промту;
— предлагают автодополнение на основе контекста;
— подсказывают, как улучшить код.
Но они реактивные — не анализируют весь проект автоматически. ИИ не гарантирует соответствие стандартам проекта, превращая код в кашу.
Если вы уже не готовы отказаться от копайлотов вроде ChatGPT или Cursor, с качеством кода помогут несправедливо забытые:
— линтеры (pylint, flake8);
— тайпчекеры (mypy);
— security-сканеры (bandit);
— «покрыватели тестами» (coverage, pytest-cov);
— профилировщики (cProfile).
Вышеописанные инструменты:
— формализуют согласно стандарту PEP8;
— находят ошибки, неиспользуемые импорты, — «мертвый код», несоответствия типов (
mypy
);— работают без контекста задачи — поэтому «беспристрастны»;
#инструмент #основы
@zen_of_python
This media is not supported in your browser
VIEW IN TELEGRAM
pipask | pip, который не пропустит зловред
Дожили: через pypi.org можно слить свои креды / логопассы и дать возможность майнить крипту мошенникам. Покаадмин плачет в сторонке вас еще миновала участь установить нечто злое, попробуйте вместо привычных менеджеров зависимостей pipask: он использует метаданные, чтобы оценить вероятность угрозы и подтягивает базу osv.dev (про уязвимости).
Ждем, когда PSF сшерлочат эту фичу.
Репозиторий проекта
#инструмент
@zen_of_python
Дожили: через pypi.org можно слить свои креды / логопассы и дать возможность майнить крипту мошенникам. Пока
Ждем, когда PSF сшерлочат эту фичу.
Репозиторий проекта
#инструмент
@zen_of_python