Как работает функция 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
Un prete, colombiano di 45 anni, è stato accoltellato in centro a #Modena questa mattina, in via Castelmaraldo. Sull'episodio sono in corso le indagini dei carabinieri, che procedono per tentato omicidio. Il sacerdote, raggiunto da un fendente alla gola, dopo i primi soccorsi da parte dei passanti, è stato portato in ospedale dal 118 dove èstato sottoposto a intervento chirurgico. Non sarebbe in pericolo di vita. L'aggressore è in fuga e i militari dell'arma sono al lavoro per rintracciarlo. Sconosciuti al momento i motivi del gesto.
Dopo 555 anni, la #Bibbia di Borso d'Este torna in Vaticano. A conclusione della mostra ospitata dalla Biblioteca del #Senato e prima di tornare a #Modena, il "libro più bello del mondo" ha effettuato oggi una breve tappa nel Palazzo Apostolico, accompagnato dal Presidente del Senato Ignazio La Russa che, con il Segretario generale Federico Toniato e il direttore delle Gallerie Estensi Alessandra Necci, ha così voluto ringraziare personalmente Papa #LeoneXIV per la visita in Senato del 18 dicembre scorso.
Dopo Paolo II, Pio IX e Giovanni Paolo II, Papa Leone XIV è così il quarto Pontefice ad aver avuto nelle proprie mani l'originale. Ma è anche il primo Papa a riceverlo in Vaticano dopo 555 anni. L'opera fu infatti realizzata su commissione di Borso d'Este e da questi portata a Papa Paolo II nel 1471 in occasione del conferimento del titolo di Duca.
Il manoscritto è considerato il capolavoro assoluto dell'arte della miniatura. La realizzazione inizia nel 1455, proprio nell'anno in cui Gutenberg finisce di stampare le copie della sua Bibbia.
La mostra in Biblioteca era stata inaugurata il 14 novembre, organizzata in occasione del #Giubileo 2025 grazie alla collaborazione tra Senato della Repubblica, Presidenza del Consiglio dei Ministri, Ministero della Cultura, Gallerie Estensi, Commissario Straordinario di Governo per il Giubileo, Istituto dell'Enciclopedia Treccani e Dicastero per l'Evangelizzazione della Santa Sede.
La chiusura, inizialmente prevista per il 16 gennaio, era stata poi prorogata al 4 febbraio a seguito del grande interesse manifestato dai visitatori. La Bibbia di Borso d'Este torna ora alle Gallerie Estensi di Modena dove sarà eccezionalmente esposta al pubblico dal 7 al 9 febbraio, nella Sala Campori della Biblioteca Estense Universitaria, sua sede storica.