Как работает функция 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
WARNING: GRAPHIC CONTENT: Car bomb in Yemen's Aden leaves fatalities
A car bomb targeting the governor's convoy shook Yemen's southern port city of Aden, killing several people
#News#Reuters#Yemen#CarBomb#Aden
Subscribe: http://smarturl.it/reuterssubscribe
Reuters brings you the latest business, finance and breaking news video from around the globe. Our reputation for accuracy and impartiality is unparalleled.
Get the latest news on: http://reuters.com/
Follow Reuters on Facebook: https://www.facebook.com/Reuters
Follow Reuters on Twitter: https://twitter.com/Reuters
Follow Reuters on Instagram: https://www.instagram.com/reuters/?hl=en
➖@reutersworldchannel➖
#Yemen Agriculture ministry condemns #Eritrean & #Somali attacks on Yemeni Fishermen
The Agriculture, Fisheries and Water Resources Ministry strongly condemned the criminal attacks and repeated violations targeting Yemeni fishermen in the #Red_Sea and the Gulf of #Aden by the Eritrean authorities and the authorities of the Somali region, describing them as a blatant violation of international, humanitarian, and maritime laws, norms, and conventions.
In a statement received by the Yemeni News Agency (Saba), the Ministry explained that Eritrean forces carried out a direct armed attack using live ammunition against civilian Yemeni fishermen within the territorial waters of the Republic of Yemen in the Red Sea, resulting in deaths and injuries, as well as the detention of a number of fishermen who were forcibly taken away.
The Ministry considered these actions a dangerous escalation that threatens the safety, security of fishermen, targets their livelihoods and .....
https://saba.ye/en/news3639829.htm
#Somalia warns against any #Israeli base plans on #Somaliland
Somalia has warned that its territory cannot be used as a launching pad for military operations, after two media reports that said Israel is planning to establish a military base in the breakaway region of Somaliland, directly across the Gulf of #Aden from #Yemen.
“Somalia does not want to see its territory pulled into external confrontations or used in ways that could further destabilise an already sensitive region,” Ali Omar, Somalia’s state minister for foreign affairs, told Al Jazeera on Thursday.
The warning from #Mogadishu comes after #US outlet Bloomberg and Sweden’s public radio Ekot reported this week about Israeli plans for a military installation near the strategic port city of #Berbera on the Gulf of Aden.
The reports come as the US Israeli war on Iran edges towards its second week, with the Strait of Hormuz effectively closed......
https://www.aljazeera.com/news/2026/3/12/somalia-warns-against-any-israeli-base-plans-on-somaliland