Как работает функция 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
#Italia
Il sottosegrario Rossano #Sasso (Lega): "Non siamo al Governo per promuovere cannabis e Ius Soli, non sono temi dell'agenda di Governo.
Da PD e M5S oggi una provocazione inaccettabile, anziché affrontare temi come lavoro, inflazione, tasse, irridono i problemi dei cittadini. Difficile continuare a stare al Governo così."
@UltimoraPolitics
#Italia#Camera
❗Rossano #Sasso (#FN|ESN) ha appena votato "NO" alla questione di fiducia al governo Meloni, passando ufficialmente all'opposizione.
@OsservatorioItaliano
I deputati Edoardo #Ziello e Rossano #Sasso annunciano l'uscita dalla Lega e il passaggio a Futuro Nazionale di Roberto #Vannacci, comunicando la decisione attraverso i propri canali istituzionali e social.
@UltimoraPolitics24
Educazione affettiva nelle scuole, tensione alla #Camera dopo la bocciatura all'emendamento del #M5S al ddl per il contrasto alla violenza sulle donne e alla violenza domestica. Il leghista Rossano #Sasso: "Una nefandezza nelle scuole per i bambini di 6 anni, un contenuto degradante". Immediata la reazione dell'opposizione. Angelo #Bonelli (#AVS): "Parole inaccettabili. Qui non siamo a Kabul. Dobbiamo insegnare ai giovani il rispetto del corpo delle donne". Anna Laura #Orrico (#M5S): "La Preistoria è finita 4 mila anni fa"
@UltimoraPolitics
#Italia
È stata resa nota la rosa dei sottosegretari:
📌 Rapporti con il parlamento - Deborah Bergamini (#FI|EPP) e Simona #Malpezzi (#PD|S&D)
📌 Sud e coesione sociale: Dalila #Nesci (#M5S|NI)
📌 Innovazione tecnologica e transizione digitale: Assuntela #Messina (#M5S|NI)
📌 Affari europei: Vincenzo #Amendola (#PD|S&D)
📌 Editoria: Giuseppe #Moles (#FI|EPP)
📌 Coordinamento della politica economica: Bruno #Tabacci (#CD)
📌 Sicurezza della Repubblica: Franco #Gabrielli
📌 Interni: Nicola #Moleni (#Lega), Ivan #Scalfarotto (#IV|RE), Carlo Sibilia (#M5S|NI)
📌 Giustizia: Anna #Macina (#M5S) e Francesco Paolo #Sisto (#FI|EPP)
📌 Difesa: Giorgio #Mulè (#FI|EPP) e Stefania #Pucciarelli (#Lega|ID)
📌 Economia: Laura #Castelli (#M5S|NI), Claudio #Durigon (#Lega|ID), Maria Cecilia #Guerra (#PD|S&D) e Alessandra #Sartore (#PD|S&D)
📌 Sviluppo economico: Gilberto Alberto #Fratin (#FI|EPP), Anna #Ascani (#PD|S&D) e Alessandra #Todde (#M5S|NI)
📌 Politiche agricole: Gianfranco #Battistoni (#FI|EPP) e Gian Marco #Centinaio (#Lega|ID)
📌 Transizione ecologica: Ilaria #Fontana (#M5S|NI) e Vannia #Gavia (#Lega|ID)
📌 Infrastrutture: Teresa #Bellanova (#IV|RE), Alessandro #Morelli (#Lega|ID) e Giancarlo #Cancelleri (#M5S|NI)
📌 Lavoro: Rossella #Accoto (#M5S|NI) e Tiziana #Nisini (#M5S)
📌 Istruzione: Barbara #Floridia (#M5S|NI) e Rossano #Sasso (#Lega|ID)
📌 Beni e attività culturali: Lucia #Borgonzoni (#Lega|ID)
📌 Salute: Pierpaolo #Sileri (#M5S|NI) e Andrea #Costa
📌 Esteri: Marina #Sereni (#PD|S&D), Benedetto #DellaVedova (#PiuE|RE) e Manlio #DiStefano (M5S|NI)
@NewsESondaggi