Как работает функция 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
#Resistenza oggi è opporsi a tutto questo, rendersene #liberi.
È questo il vero #fascismo: imporre il degrado agli occhi dei nostri figli e raccontarlo come emancipazione.
Questa è la vera #dittatura: offuscare le rivendicazioni sociali, nascoste da una bandiera cucita con anomia e squallore.
Questa è la vera #violenza: depravazione sponsorizzata dalle multinazionali.
Meglio qualsiasi altra cosa.
https://x.com/SavinoBalzano/status/1890336882346664431?t=76VvEwI_ntFip5o3QAUrzQ&s=19
#Scalfarotto riesce a paragonare il dialogo tra #Trump e #Putin al patto Ribbentrop-Molotov. Si tratta di quello siglato nel '39 tra Hitler e Stalin che, impegnandosi reciprocamente alla non aggressione (e a qualcosa di più, che ancora oggi imbarazza certi sinistri), si spartirono la #Polonia.
Per carità, ai paralleli strampalati siamo stati abituati in questi anni di #guerra: ci hanno ripropinato ossessivamente la Conferenza di Monaco del '38, l'#appeasement di Neville #Chamberlain, le citazioni di Winston #Churchill che stanno sempre bene.
Tutte puttanate, ma quella di #IvanScalfarotto forse davvero merita il primo premio: #DonaldTrump e #VladimirPutin dialogano per porre fine a una guerra alimentata da progressisti e liberali occidentali e lui li paragona ai due dittatori che diedero il via alla Seconda Guerra Mondiale. Hai vinto Ivan: come possiamo intitolarlo il suo premio? qualche idea?
Quelli che hanno soffiato sul fuoco per due anni, parlo in generale, rischiando davvero la deflagrazione di un conflitto totale e nucleare, hanno ancora il coraggio di parlare e di dare sciocche lezioni di storia. Una storia che, se va bene, hanno studiato su La Repubblica.
Ciò che abbiamo oggi sotto gli occhi è il risultato della totale assenza di visione degli ultimi anni: dell'ideologia degli scemi che parlavano della guerra di civiltà, dello scontro tra #democrazia e #dittatura, di quello tra #libertà e barbarie. Le ragioni del conflitto sono sempre state altre, decisamente più prosaiche, e oggi lo vediamo nitidamente: dopo aver causato un milione di morti, dopo aver avvelenato un paese (anche con le armi occidentali) che tale resterà per decenni, probabilmente anche di più.
È pazzesca la totale assenza di dignità in certi soggetti: l'#UE ancora farnetica di un suo coinvolgimento. Non ci sarà: non conteremo nulla.
Ogni volta che qualcuno ha provato a dialogare con Putin è stato coperto di insulti, persino sanzionato. Ha totalmente ragione #Orban: la partecipazione alle trattative devi meritartela e non non ce la meritiamo. Non dopo aver leccato per anni le suole di #Biden.
Abbiamo lasciato che fanatiche invasate come #VonDerLeyen e #Kallas guidassero la nostra agenda, a proposito di patriarcato. Hanno farneticato per anni di sconfitta della Russia, di lotta fino alla vittoria finale.
Oggi #USA, #Russia e #Cina dialogano senza di noi, anche senza la #NATO (guidata da un altro ciarlatano che immaginava di poter dire la sua dinanzi alla volontà statunitense): arrivano persino a immaginare lo stanziamento delle loro truppe sul territorio ucraino. E ne parlano senza l'#Ucraina!
#Zelensky dichiara il suo dispiacere per il mancato coinvolgimento: pare un ragazzino escluso da una festa di compleanno. Una roba deprimente, soprattutto se rimandiamo la memoria alla narrazione della nostra stampa e della nostra televisione che per anni lo ha paragonato a un eroe di guerra. Uno spettacolo oltre il pietoso.
Chi vanegga di un coinvolgimento europeo o di #Kiev alla trattativa non si rende conto che quest'ultima è già cominciata, anzi, probabilmente è già finita.
Nessuna paura, ce ne accorgeremo presto, noi siamo gli idioti a cui il cameriere consegna il conto alla fine del pasto: prego, si accomodi, la cassa è da quella parte.