Как работает функция 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
News: #Somalia, #South_Africa discuss security, regional stability
Somali President #Hassan_Sheikh Mohamud on Tuesday held a telephone conversation with South African President Cyril #Ramaphosa, during which the two leaders discussed strengthening bilateral relations and expanding cooperation on peace and security, trade and investment, and regional stability.
According to Somalia’s state news agency SONNA, the talks also covered key regional and continental developments, with both leaders reaffirming their commitment to #African solidarity and shared prosperity.
Recently reports indicate that Somalia intensifies diplomatic relations with different countries. Yesterday SONNA reported.that Somalia has signed a defence cooperation agreement with #Qatar, days after formally terminating all existing security and defence arrangements with the United Arab Emirates (#UAE).
The agreement was...
https://web.facebook.com/AddisstandardEng/posts/pfbid0APngK9nL83rpkiaz2ADgk3Fhm1cZKE3Utxx6mMTkWx8RgG7w4yTYz191C3C5g6uAl
#South_Africa deploys soldiers to the streets to tackle organized and violent crime
Soldiers were deployed to the streets of South Africa’s biggest city Wednesday in an effort to help police fight gang violence and illegal mining.
It was the first major deployment since President Cyril #Ramaphosa said in his annual speech to the nation last month that he would use the army against organized crime, which he called the greatest threat to democracy and the country’s economic development.
Soldiers jumped from vehicles and entered apartment blocks as military vehicles moved through the #Riverlea and #Westbury suburbs of #Johannesburg.
Many residents of Riverlea expressed relief to see soldiers deployed to stem the violence.
One resident, Pearl Hilma, told The Associated Press that she supports the crackdown “because there’s lots of gangsterism as well as gunshots every night” in the neighborhood......
https://apnews.com/article/johannesburg-troops-crime-crackdown-president-d92dd6dc8eea76bdf1abd878200379f9
Un nuovo capitolo strategico tra Việt Nam e Sudafrica
La visita di Stato del Presidente sudafricano Cyril Ramaphosa a Hà Nội (23-24 ottobre) segna una svolta storica nelle relazioni tra i due Paesi. Dopo decenni di cooperazione politica ed economica, il Việt Nam e il Sudafrica si preparano a elevare il loro rapporto a Partenariato Strategico entro il 2025, fondato su fiducia politica, sviluppo sostenibile e convergenza multilaterale.
Le radici del legame risalgono alla solidarietà anticoloniale e al movimento afro-asiatico, ma oggi la partnership guarda al futuro: energie rinnovabili, digitalizzazione, infrastrutture, finanza verde e libero scambio con la SACU.
Il Việt Nam si conferma ponte tra Asia e Africa, mentre il Sudafrica punta a rafforzare il proprio ruolo di hub continentale.
Entrambi i Paesi condividono una visione del Sud Globale unito, promotore di un ordine internazionale più equo, basato su cooperazione, legalità e rispetto reciproco.
La dichiarazione congiunta del 24 ottobre non chiude un ciclo, ma ne apre uno nuovo: quello di una cooperazione Sud-Sud più matura, fondata su principi, pragmatismo e ambizioni globali comuni.
#Vietnam#SouthAfrica#Ramaphosa#CooperazioneSudSud#Diplomazia#Geopolitica#ASEAN#Africa#PartenariatoStrategico#GiulioChinappi
https://www.marx21.it/internazionale/un-nuovo-capitolo-strategico-nella-cooperazione-tra-vietnam-e-sudafrica/