Как работает функция 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
Премьер-министр Сербии Джуро Мацут сегодня провел переговоры с новым послом Украины в Белграде Александром Литвиненко
Глава правительства заявил, что Белград с особым вниманием следит за событиями на территории Украины и сложной гуманитарной ситуацией, касающейся гражданского населения.
«Сербия, в пределах своих возможностей, продолжит направлять гуманитарную помощь уязвимому населению в виде финансовых ресурсов, медицинского и электроэнергетического оборудования», – добавил Мацут.
Литвиненко поздравил премьер-министра с прошедшим Днём государственности страны и поблагодарил Сербию за все, что она сделала для украинского народа.
#Beograd#Srbija#Ukrajina
@NewsSerbia
На улице Косовской в Белграде местные жители встали перед экскаватором, пытаясь остановить строительные работы
Дорогу собираются сделать двусторонней, но жители заявляют, что им практически ничего не известно о проекте – нет доступной документации, чёткого плана и оценки последствий его реализации.
По их мнению, улица и без того перегружена транспортом. Они требуют от властей ответы на вопросы о шуме, загрязнении, вырубке деревьев и сокращении парковочных мест.
#Beograd#Kosovska#protest
@NewsSerbia
Дорожная сводка, 31 марта Белград: Дорожные работы и ограничения
• Novi Beograd (Tošin bunar / Dr Žorža Matea): Продолжается полное закрытие участка улицы Dr Žorža Matea до 9 апреля. Также ограничено движение на Tošin bunar (между Pariske komune и Džona Kenedija).
• Autokomanda (M11): Санация опор путепровода. До 24 мая закрыта крайняя правая полоса в сторону Нового Белграда.
• Takovska (Centar): Ремонт дорожного полотна продолжается. Улица частично раскопана, работы продвинулись ко второй фазе в сторону Trg Nikole Pašića.
• Surčin (Trg Zorana Đinđića): Работы на водопроводе и канализации (фазы 1B и 2). Изменен режим движения на центральной площади Сурчина.
⚡️ Отключения.
Сегодня запланированы масштабные отключения электричества, которые могут затронуть работу светофоров:
• Vračar (08:30 – 10:30): ул. Kneginje Zorke и Svetog Save.
• Zemun / Novi Beograd (08:30 – 13:30): улицы Aleksandra Dubčeka, Bulevar Mihajla Pupina (18-24), Džona Kenedija и Palmira Toljatija.
• Zvezdara (09:00 – 13:30): Район улиц Vojvode Bogdana, Zahumska и Ćirila i Metodija.
🚍 Изменения в общественном транспорте
• Автобусы: Маршруты 72, 74, 75, 76, 77, 708 и 72N продолжают ходить в объезд закрытых участков в Новом Белграде.
• Троллейбусы: На линии 40 временно отменена остановка «Glavna pošta» из-за работ в Таковской.
• Трамваи: Маршруты 7L, 9L и 13 всё еще следуют по измененным путям из-за работ на мосту над ул. Antifašističke borbe. Подписывайтесь на @roadgoserbia чтобы быть в курсе событий. #Белград#roadgosrbia#дорогибелград#сербия#beograd
Дорожная сводка, пятница 3 апреля 📅🚗.
🚧 Дорожные работы:
• Tošin bunar: ремонт между Pariske komune и Džona Kenedija вызывает задержки ⏳.
• Autokomanda (M11): закрыта правая полоса к Новому Белграду; пробки со стороны Južni bulevar 🚗🐢.
• Takovska: затруднен проезд у Trg Nikole Pašića. Объезд: Starine Novaka или Ruzveltova 🛣️.
• A1 (Bubanj Potok): ожидается трафик на пункте оплаты. TAG-устройства для грузовиков (IV категория) работают, возможны замедления 🚛.
• Ralja (I B 14): работы на электросетях у перекрестка для Kolare в светлое время ⚡☀️.
🚍 Транспорт:
• Автобусы 72, 75, 76, 77, 708 и A1: объезд на Тошином Бунаре 🔄.
• Трамваи 7L, 9L, 13: измененные схемы из-за работ на путепроводе над ул. Antifašističke borbe 🚋. Подписывайтесь на @roadgoserbia будьте в курсе событий. #дорогибелград#beograd#жизньвсербии#roadgosrbia
⚡️БЕОГРАД — Обдукциони налаз о смрти студенткиње Филозофског факултета показао је да је смрт настала услед повреда приликом пада
Обдукциони записник са токсиколошком анализом показао је да није детектовано присуство лекова или других психоактивних супстанци.
** Више јавно тужилаштво у Београду наставља предистражни поступак поводом смрти и околности под којима је дошло до паљења пиротехничких средстава.
→ Линк: /t.me/borbeni_efektivi
→ Извор: /t.me/borbeni_efektivi
🪖#Beograd〣#FilozofskiFakultet〣#smrt〣#obdukcija〣#povrede〣#toksikologija〣#istraga〣#pirotehnika
🇷🇸https://t.me/borbeni_efektivi