Как работает функция 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
Wenn die #Ampel fällt, wäre es an der Zeit für einen bundesweiten Autokorso, oder? 🤔
.. das mochte schon Angela Merkel gar nicht, hätte aber was.
@Pheebs
👁 Folgt uns:
https://t.me/medusa_auge
.
Правящая коалиция "Светофор" намерена ужесточить наказание за взяточничество и коррупцию среди депутатов. Сегодня в бундестаге обсуждалось внесение соответствующей поправки в уголовный кодекс. Изменения предусматривают лишение свободы сроком до трех лет или выплату штрафа, если представители власти заключают сделки, используя свое положение и мандат.
До этого момента наказание для депутатов было предусмотрено только в том случае, если они получали деньги или другие льготы за продвижение и отстаивание определенной позиции при исполнении своего мандата. Например, во время произнесения речи или голосования в бундестаге. "Наши граждане должны быть уверены, что депутаты работают на общее благо, а не на свой карман", - заявил парламентский секретарь СДПГ Йоханнес Фехнер.
Основной причиной для ужесточения закона стал скандал с поставками масок во время пандемии Covid-19, в котором были замешены бывшие депутаты от ХСС. На ранних этапах распространения коронавируса они получали многомиллионные комиссионные за посредничество в сделках. Ранее закон не мог призвать членов ХСС к ответу, но теперь ситуация изменится.
Источники: https://www.tagesschau.de/
https://www.spiegel.de/
https://www.berliner-zeitung.de/
#Германия#Deutschland#Germany#Demokratie#sozial#Bundestag#Ampel#Strafen#Parlamentarier#deputies#law#punishment
Федеральный Конституционный суд признал второй дополнительный бюджет на 2021 г. неконституционным и недействительным. Это первый подобный случай в истории Германии. Первоначально федеральное правительство выделило специальные средства в размере 60 млрд евро на преодоление негативных последствий пандемии Covid-19. Однако в тот год деньги не были потрачены.
В прошлом году коалиция "Светофор" перевела сохраненные 60 млрд в климатический фонд "Фонд изменения климата и преобразований" (KTF). Перед этим немецкое правительство приняло бюджет на 2022 г, который включил в себя так и не использованные в 2021 г. средства. В результате этого решения власти Германии нарушили основные принципы принятия бюджета. Кроме того, по мнению представителей Конституционного суда, правящие партии превели недостаточные обоснования для перераспределения финансовых ресурсов в климатический фонд.
После заключения Конституционного суда коалиция "Светофор" больше не может рассчитывать на возможность использования средств из бюджета 2021 г. Правящие партии будут вынуждены пересмотреть финансирование климатического фонда и планы по осуществлению энергоповорота. Также ХДС/ХСС потребовали приостановить процесс составления бюджета на следующий год.
Президент Немецкого института экономических исследований (DIW) Марсель Фратцшер считает, что пришло время для реформирования закона о долговом тормозе, поскольку "за последние двенадцать лет попытки федеральных правительств обойти это правило приобретают все более абсурдные черты".
Источники: https://www.tagesschau.de
#Германия#Deutschland#Germany#Parteien#Ampel#Bundestag#Wirtschaft#economy#Demokratie#sozial#social#Gruenen#CDU#CSU#SPD#Bundesverfassungsgericht#court#judges#budget