Как работает функция 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
Via libera all'unanimità del Consiglio del Partito dei Conservatori e Riformisti europei (#ECR): rinnovato il mandato di Giorgia #Meloni alla presidenza del partito europeo. Vicepresidenti: Jorge #Buxadè (#VOX, Spagna) e Radoslaw #Fogiel (#PiS, Polonia)
@UltimoraPolitics
#Italia#UE#Ucraina
Il Parlamento UE ha approvato con 427 voti a favore, 181 contrati e 54 astenuti la fornitura di missili tedeschi Taurus a Kiev, era contenuta in un emendamento proposto da #ECR.
#Lega|PfE, #M5S|LEFT, #AVS|LEFT|G/EFA e 16 eurodeputati del #PD|S&D hanno votato contro mentre #FdI|ECR, #FI|EPP e 5 eurodeputati del #PD|S&D (Pina #Picierno, Elisabetta #Gualmini, Giorgio #Gori, Pierfrancesco #Maran e Irene #Tinagli).
@OsservatorioItaliano
Հայ ռազմագերիներ Ադրբեջանում։ Պաշտոնական տվյալներով՝ 19 հայ ռազմագերիներ և քաղաքացիական անձինք մնում են ադրբեջանական կալանքի տակ, չնայած պաշտոնական հակառակ պնդումներին։ Շարունակվում են կտտանքների և բեմադրված դատավարությունների մասին հաղորդագրությունները։ Միևնույն ժամանակ, անհայտ կորած անձանց հարցը մնում է չլուծված։ Այս հարցում թափանցիկության և շոշափելի առաջընթացի բացակայությունը ավելի է խաթարում հանրային վստահությունը և առաջացնում լուրջ մարդասիրական մտահոգություններ։
6. Արցախի էթնիկ զտումները և վերադարձի հրամայականը։ Լեռնային Ղարաբաղի/Արցախի էթնիկ զտումները, որոնք բռնի կերպով տեղահանեցին իր ողջ բնիկ հայ բնակչությունը, չպետք է լռության մատնվեն։ Տարածաշրջանում հայկական քրիստոնեական հոգևոր և մշակութային ժառանգության շարունակական և համակարգված ոչնչացումը քաղաքակիրթ արժեքների նկատմամբ շարունակական վիրավորանք է։ Միջազգային իրավունքը միանշանակ պարտավորեցնում է Ադրբեջանին երաշխավորել բոլոր տեղահանված անձանց անվտանգ, կամավոր և արժանապատիվ վերադարձը հայրենիք՝ պարտավորություն, որը եվրոպացի առաջնորդները պետք է ակտիվորեն պաշտպանեն։
Մեր ուղերձը եվրոպացի առաջնորդներին հստակ է։
Սա քաղաքական հստակության պահ է։ Ներգրավումը չպետք է լինի սկզբունքների հաշվին։
Մենք կոչ ենք անում ձեզ՝
• Հրապարակավ և միանշանակ պահանջել Հայաստանում բոլոր քաղբանտարկյալների և Ադրբեջանում գտնվող հայ ռազմագերիների ազատ արձակումը։
• Հստակորեն խոսել Հայ Առաքելական եկեղեցու վրա ճնշումների և լրատվամիջոցների ազատության սահմանափակումների դեմ։
• Ապահովել հավասարակշռված ներգրավվածություն՝ հանդիպելով ընդդիմադիր ուժերի, անկախ քաղաքացիական հասարակության և Հայ Առաքելական եկեղեցու ներկայացուցիչների հետ։
Եվրոպայի ժողովրդավարական արժեքների նկատմամբ հավատարմության հավաստիությունը վտանգված է։ Մենք կոչ ենք անում ձեզ գործել համարժեք՝ դադարեցնել երեսպաշտությունը և պաշտպանել ժողովրդավարությունը։
#EEAS#EPP#ECR#S&D #ALDE#EFA#PoliticalPrisoners#dictatorship