Завдяки lazy imports програми на Python будуть запускатись швидше
Програми, написані на Python, тепер будуть швидше запускатись завдяки затвердженню пропозиції PEP 810 Explicit lazy imports (Явний лінивий імпорт). Оновлення дозволяє скриптам відкладати завантаження імпортованих бібліотек до моменту їх фактичного застосування, пише The Register.
Розробники можуть відзначати окремі операції імпорту, як «ліниві» за допомогою явного синтаксису. Це дає програмам на Python скорочення часу запуску, споживання пам’яті та обсягу непотрібної роботи.
Пропозиція зберігає повну зворотну сумісність: звичайні оператори імпорту залишаються незмінними, а lazy імпорт включається лише після явного запиту.
Імпорт модулів у Python — це одночасно і перевага, і проблема. Перевага, оскільки кілька операторів import можуть значно розширити функціональність програми. Водночас, це може стати проблемою, тому що імпортовані символи можуть ніколи не бути використані, що потенційно збільшує час запуску. Гарним прикладом цього може стати виклик програми з командного рядка за допомогою чогось на кшталт –help, через що виникає необхідність чекати, поки завантажаться непотрібні імпортовані елементи. Тепер, завдяки лінивому імпорту, завдання відкладається до того часу, поки воно дійсно не знадобиться.
Пропозицію щодо вдосконалення Python (PEP 810) було висунуто Пабло Сальгадуном, членом Керівної ради, 3 жовтня та схвалено 3 листопада.
Хоча в Python існує кілька способів реалізувати лінивий імпорт, але в самій мові досі немає ніяких вбудованих рішень. Попередні спроби удосконалення зазнали невдачі. PEP 690 було відхилено частково тому, що ця пропозиція робила лінивий імпорт стандартним, і це викликало занепокоєння щодо фрагментації спільноти та зворотної сумісності. Паралельно розробники створили власні обхідні способи, а деякі організації навіть відокремили форк CPython.
Прогнозується, що PEP 810 досягне успіху, оскільки лінивий імпорт зберігає зворотну сумісність та стандартизує те, що зараз є фрагментованим ландшафтом користувацьких рішень.
Стів Возняк, який 50 років тому разом із Стівом Джобсом стояв біля витоків компанії Apple,…
Звіт The 2026 Crypto Crime Report від компанії Chainalysis розкриває масштабну схему легалізації капіталу, де…
Генератор відео Seedance 2.0 від китайської компанії ByteDance став доступним у версії для CapCut. На…
Небезпечний набір експлойтів під назвою DarkSword став публічно доступним. Невідомий опублікував код його нової версії…
Компанія Anthropic навчила агента на базі LLM Claude керувати комп'ютером Mac замість користувача. У Claude…
Марк Цукерберг вирішив особисто протестувати концепцію AI-native, яку він просуває в Meta, почавши розробку власного…