Как работает функция 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
В Астане жители ЖК пожаловались на многочисленные проблемы здания, построенного BI Group. И, как пишет 24KZ, управляющая компания эти проблемы не решает.
По словам астанчан, дом был заселен в 2022 году. Жители утверждают, что лифт может высадить пассажиров на другом этаже или попросту остановиться.
Также жители пожаловались на промерзшие стены на балконах, запах канализации, протекающий потолок, затопленную шахту лифты.
В управляющей компании BI Clients Service проблемы отрицать не стали, но заявили, что они носят не массовый, а точечный характер.
Чтож, главное, чтобы эти точки не стали горячими. Ведь, по словам жителей, им своими силами пришлось тушить пожар в паркинге. Система оповещения не сработала, а в пожарном рукаве не оказалось воды.
Регионы: #астана#bigroup#строительство#жк#айдынрахимбаев
t.me/halyqpress
Очередной долгострой? Когда закончится реконструкция алматинского театра им. Ауэзова?
Депутат Сергей Пономарев поднял вопрос о реконструкции театра им. Ауэзова в Алматы. Акимат пару лет назад анонсировал обновление здания. Подрядчик Bi group приступил к работе, но позже заморозил стройку. Депутат утверждает, что требуемых для реконструкции 45 млрд тенге в бюджете нет и якобы объект может стать очередным городским долгостроем.
В Минкульте поспешили прокомментировать заявление Пономарева. В ведомстве уверили, что работы по реконструкции объекта не приостановлены. По данным ведомства, проект ожидает начала нового финансового года и в установленном порядке получит необходимые для продолжения работ средства.
Также в Минкульте пообещали, что реконструкция театра будет завершена в полном объеме и с соблюдением всех требований к сохранению его исторической и культурной ценности.
Видео reporterkz
Регионы: #алматы#театримауэзова#минкуль#Bigroup#долгострой
t.me/halyqpress