Многие из тех кто активно работал с Python2 несколько удивлены, почему в Python3 удобная функция reload() переехала из builtin в imp а потом и в importlib?
Ну было же удобно! А теперь лишний импорт😖
Дело в том, что начиная с Python3.3 функция reload() переписана на Python вместо Cи.
Что это нам даёт?
🔸 Такой код проще поддерживать и развивать
🔸 Python код легче читать, изучать и понимать.
Сравните это ➡️ и это ➡️.
🔸 Как результат пункта 2, проще писать свои расширения импорта. Например, пользовательский импортёр с какой-либо хитрой логикой по аналогии с импортом из zip архивов.
А есть ли у этого решения недостатки? Да, они всегда есть.
🔹 Так как это не builtin функция, её следует импортнуть перед использованием
🔹 Скорость замедлилась примерно на 5%. Очевидно, что это совершенно не критично. К тому же от версии к версии логика импорта будет оптимизироваться и ускоряться.
В самом начале файла importlib/__init__.py мы видим такой импорт:
import _imp # Just the builtin component, NOT the full Python module
То есть часть функционала по прежнему написана на Си, но достаточно низкоуровневая.
#basic
UEFA Champions League🌍
2026-05-06 19:00 UTC
Bayern München vs. Paris Saint Germain
Predicted outcome: Bayern München❌
Predicted score: 3:2
Actual: Draw 1:1
#BayernMünchen#PSG
#Football#ChampionsLeague
UEFA Champions League🌍
2026-04-28 19:00 UTC
Paris Saint Germain vs. Bayern München
Predicted outcome: Draw❌
Predicted score: 2:2
Actual: Paris Saint Germain 5:4
#PSG#BayernMünchen
#Football#ChampionsLeague
UEFA Champions League🌍
2026-04-15 19:00 UTC
Arsenal vs. Sporting CP
Predicted outcome: Arsenal❌
Predicted score: 2:0
Actual: Draw 0:0
#Arsenal#Sporting
2026-04-15 19:00 UTC
Bayern München vs. Real Madrid
Predicted outcome: Bayern München✅
Predicted score: 2:1
Actual: Bayern München 4:3
#BayernMünchen#RealMadrid
#Football#ChampionsLeague
UEFA Champions League🌍
2026-04-07 19:00 UTC
Sporting CP vs. Arsenal
Predicted outcome: Arsenal✅
Predicted score: 1:2
Actual: Arsenal 0:1
#Sporting#Arsenal
2026-04-07 19:00 UTC
Real Madrid vs. Bayern München
Predicted outcome: Draw❌
Predicted score: 2:2
Actual: Bayern München 1:2
#RealMadrid#BayernMünchen
#Football#ChampionsLeague