Русский
Открыть в Telegram

ВеткаPython 3.15 додає lazy імпорти і це реально корисно

5 сообщений · –
P
Python 3.15 додає lazy імпорти і це реально корисно Якщо ти хоч раз запускав CLI-утиліту або скрипт і думав "чому воно так довго стартує" - ця фіча для тебе. Проблема проста. Python при запуску завантажує всі модулі одразу, навіть якщо половина з них потрібна тільки в одному з десяти сценаріїв. Великий проєкт з pandas, numpy і ще купою залежностей - і ти вже чекаєш секунди просто щоб побачити --help. Раніше це вирішували переносом імпортів всередину функцій. Працює, але код стає брудним і незрозумілим. Тепер у Python 3.15 є нормальне рішення - ключове слово lazy: lazy import pandas lazy from json import dumps Модуль не завантажується поки ти його не використаєш. Перший раз звернувся - тоді й завантажується. lazy import pandas if user_wants_report: df = pandas.DataFrame(data) # тільки тут pandas реально завантажиться Якщо користувач не запитав звіт - pandas взагалі не торкнувся пам'яті. Пара моментів які варто знати: — lazy працює тільки на рівні модуля, не всередині функцій — from module import * не підтримується — помилку в імпорті побачиш не одразу, а коли вперше використаєш модуль За даними з PEP - CLI-утиліти стартують на 50-70% швидше, великі застосунки споживають на 30-40% менше пам'яті. Python 3.15 ще не вийшов фінально, але PEP вже прийнятий. Якщо цікаво розібратись детальніше то ось першоджерело: https://peps.python.org/pep-0810
1 · 732 ·
PPython чат для початківцівPython чат для початківців@pythonnewbie · группа · Технологии
48участников1пишущих за 30 дней
Лента площадки Открыть в Telegram

Открытая публичная лента из поискового индекса ChatCrawler — «Google по публичному Telegram»; обновляется по мере обхода площадки. Время — UTC.

Только публичный контент, официальный API Telegram. О проекте · Вопросы · Границы индекса · Убрать страницу из выдачи · Каталог · Поиск · Как мы считаем