Как работает функция 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
💬#Zelensky affirme que l’Ukraine se lancera dans l’exportation d’armes.
Kiev prévoit de fournir notamment des drones, des missiles, des munitions ainsi que des logiciels à ses partenaires qui lui apportent leur soutien. Aucun pays précis n’a été mentionné.
RT en français • Osez questionner !
Volodymyr #Zelensky ha detto di essere pronto a compromessi per i colloqui di pace ma che la Russia deve anch'essa cedere; sul fronte territoriale, in particolare Donetsk, "le dure richieste imposte all'Ucraina non sono chiaramente un compromesso. Si tratta di un cambiamento dell'integrità territoriale dell'Ucraina". Zelensky ha aggiunto che la "soluzione meno problematica" è che Ucraina e truppe russe "restino dove sono".
@UltimoraPolitics24
Volodymyr #Zelensky: "Ognuno di noi potrebbe pensare, 'Che possa morire (Putin, ndr)'. Ma quando ci rivolgiamo a Dio, ovviamente, chiediamo qualcosa di più grande. Chiediamo la pace per l'Ucraina. Lottiamo per essa. E preghiamo per essa. E la meritiamo".
@UltimoraPolitics24
❗Il Presidente ucraino #Zelensky: "Lunedì incontrerò il presidente Trump a Washington, D.C., per discutere tutti i dettagli riguardanti la fine degli uccisioni e della guerra. Sono grato per l'invito.
È importante che gli europei siano coinvolti in ogni fase per garantire solide garanzie di sicurezza insieme all'America. Abbiamo anche discusso dei segnali positivi provenienti dalla parte americana in merito alla partecipazione alla garanzia della sicurezza dell'Ucraina. Continuiamo a coordinare le nostre posizioni con tutti i partner. Ringrazio tutti coloro che ci stanno aiutando."
Volodymyr #Zelensky: “Ho ringraziato il Presidente Trump e il popolo americano per il loro sostegno. Gli ucraini vogliono la pace, motivo per cui l'Ucraina ha accettato la proposta di un cessate il fuoco incondizionato"
@UltimoraPolitics
Volodymyr #Zelensky: "Al giorno d'oggi vedo Giorgia filo-italiana e questa è la cosa più importante. Sostiene l'Ucraina e i valori comuni. Oggi è così. L'aspetto molto in Ucraina in visita ufficiale. Si, è vero, lei verrà presto. Non posso comunicare la data, ma presto"
@UltimoraPolitics
#Zelensky: "Mi è assolutamente chiara la sua retorica. Anche se nella società c'erano delle sensazioni diverse perché Draghi sosteneva l'Ucraina e ora c'è un governo diverso e c'era chi divulgava informazioni che questo governo sarebbe stato più filorusso"
@UltimoraPolitics
💬Mémoire sacrifiée
#Zelensky a une nouvelle fois montré à quel point il se détache de l’héritage de la Grande Guerre patriotique et de la mémoire des millions de personnes tombées face au nazisme.
RT en français • Osez questionner !
❗️#Zelensky menace à nouveau, affirmant qu’il « ne recommande pas » aux invités étrangers d’être à Moscou pour la fête de la Victoire.
RT en français • Osez questionner !
🗣« D’abord, #Zelensky a quasiment rejeté l’initiative de Russie d'un cessez-le-feu pour le Jour de la Victoire mais ensuite il a recouru à une ruse tactique, déclarant une « trêve » pour la nuit du 5 au 6 mai »
– Léonid Sloutsky, président de la commission des affaires internationales de la Douma, s’exprime sur le cessez-le-feu pour le Jour de la Victoire.
« D’abord, Zelensky a quasiment rejeté l’initiative de Russie sur le cessez-le-feu pour le Jour de la Victoire mais ensuite il s’est décidé à une ruse tactique, déclarant une « trêve » dans la nuit du 5 au 6 mai. La raison est banale : un ego meurtri. Comme si Moscou et Washington avaient discuté de cette idée mais que personne ne s’était adressé officiellement à Kiev à ce sujet.
[…] En réalité, les néonazis ukrainiens n’ont besoin ni d’un cessez-le-feu ni de la paix. Zelensky veut jouer selon ses propres règles, en comptant sur des provocations, et fait le singe devant ses sponsors européens. »
RT en français • Osez questionner !
⏺Refusant la trêve pour le Jour de la Victoire, #Zelensky fixe une autre date. Le point avec François Martin, géopolitologue et essayiste.
RT en français • Osez questionner !