Как работает функция reload()?
Эта функция нужна для того, чтобы перезагрузить изменившийся код из py-файла без рестарта интерпретатора.
Дело в том, что любой импортированный модуль при повторном импорте не будет перечитывать файл. Функция импорта вернёт уже загруженный в память объект модуля. Чтобы обновить код, нужно либо перезапустить всю программу, либо использовать функцию reload()
from importlib import reload
reload(my_module)
🔸 Функция reload() принимает в качестве аргумента только объект модуля или пакета. Она не может перезагрузить класс или функцию. Только весь файл целиком!
🔸 Перезагрузка пакета перезагрузит только его файл __init__.py, если он есть. Но не вложенные модули.
🔸Она не может перезагрузить ранее не импортированный модуль.
🔸При вызове функция reload() перечитывает и перекомпилирует код в файле, создавая новые объекты. После создания новых объектов перезаписывается ранее созданный неймспейс этого модуля.
Это значит, что если где-то этот модуль импортирован через import и обращение к атрибутам происходит через неймспейс (имя) модуля, то такие атрибуты обновятся.
Если какие-либо объекты из этого модуля импортированы через from то они будут ссылаться на старые объекты.
Напишем простой модуль
# mymodule.py
x = 1
Теперь импортируем модуль и отдельно переменную х из модуля
>>> import mymodule
>>> from mymodule import x
>>> print(mymodule.x)
1
>>> print(x)
1
Не перезапуская интерпретатор вносим изменения в модуль
# mymodule.py
x = 2
Делаем перезагрузку модуля и проверяем х ещё раз
>>> reload(mymodule)
>>> print(mymodule.x)
2
>>> print(x)
1
То же самое будет если присвоить любой объект переменной (даже словарь или список)
Повторный импорт обновляет значение
>>> from mymodule import x
>>> print(x)
2
🔸Созданные инстансы классов не обновятся после перезагрузки модуля. Их придётся пересоздать.
#tricks#basic
Новабаев Групп МСФО за 2025 год
♦️ Выручка ₽149,266 млрд (₽135,464 млрд в 2024 году), рост на 10,2%
♦️ Чистая прибыль ₽5,169 млрд (₽₽4,588 млрд в 2024 году), рост на 12,66%
#BELU
Сайт | Бот | Invest Era
Ъ: водка подорожала на 16% за год и сильнее других видов алкоголя
В феврале средняя цена водки выросла до 948 руб. за литр, прибавив более 16% за год и около 2% за месяц — быстрее, чем у других категорий алкоголя.
Основная причина — повышение акцизов и минимальной розничной цены с начала года, а также рост затрат на сырьё, упаковку и логистику.
#BELU
Сайт | Бот | Invest Era
НоваБев РСБУ 1 кв 2026 г:
📈 выручка ₽0,44 млрд (+73,3% г/г)
📈 чистая прибыль ₽0,30 млрд (+81,0% г/г) #BELU
Читать далее
👉https://smartlab.news/i/188265
мы в max
Новабаев Групп: выручка по МСФО за 2025 год ₽149,266 млрд (+10,2% г/г), чистая прибыль ₽5,169 млрд (+12,66% г/г)
Читать далее
👉https://smartlab.news/i/187138
#BELU
НоваБев Групп РСБУ 2025 г:
📉 выручка ₽3,9 млрд (-34,0% г/г)
📉 чистая прибыль ₽3,3 млрд (-68,3% г/г) #BELU
Читать далее
👉https://smartlab.news/i/184291
мы в max