Данная функциональность пригодится каждому в процессе активной разработки, так как поможет избежать мучений при тестировании функций, заимствованных из кастомных модулей. Как правило, без этого не обойтись, когда вы не хотите перезапускать свой основной модуль, так как в оперативной памяти находятся результаты сложных и долгих вычислений. Рассмотрим простенький питоновский скрипт reload.py, который запускает функцию из другого модуля: а вот содержимое imported.py: Результатом исполнения reload.py будет: Если вы захотите изменить функцию my_print: и повторно запустить функцию или весь модуль, получите следующий вывод: Это происходит из-за того, что после импорта все переменные, функции и импортированные модули сохраняются во вновь созданном пространстве имен модуля и не перезагружаются. При очередном импорте загружаются только ссылки на уже имеющиеся в памяти объекты. Избежать этого помогает использование функции для перезагрузки модулей reload (from importlib import reload). Однако для
Перезагрузка модулей в Python, которая помогает избежать головной боли
13 августа 202113 авг 2021
18
1 мин