Как работает функция 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
💠Международному союзу электросвязи — 160 ЛЕТ! 🎉
🚀 17 мая 2025 года Международный союз электросвязи (МСЭ) отмечает 160-летие. Основанный в 1865 году, он стал первой международной организацией, координирующей телекоммуникации между странами.
🌐Сегодня МСЭ объединяет 194 государства и более 1000 организаций, играя ключевую роль в развитии цифровых технологий по всему миру.
🇧🇾Администрация связи Республики Беларусь, в состав которой также входит государственное предприятие «БелГИЭ», активно сотрудничает с МСЭ.
✔️ БелГИЭ отвечает за контроль радиочастотного спектра и обеспечение электромагнитной совместимости, участвует в развитии систем связи в Беларуси. Деятельность предприятия по внедрению автоматизированных систем мониторинга, его участие в международной координации частот и развитии мобильной и спутниковой связи укрепляют позицию Беларуси в глобальном цифровом пространстве.
✨ Юбилей МСЭ — повод отметить вклад каждой страны в общее цифровое будущее.
#WTISD#ITU#важные_даты
🌐 17 мая — Всемирный день электросвязи и информационного общества
💻В 2025 году Всемирный день электросвязи и информационного общества (WTISD) проходит под девизом «Гендерное равенство в цифровой трансформации», подчеркивая необходимость устранения цифрового гендерного разрыва в доступе, доступности, навыках и лидерстве, чтобы большее количество людей могли в полной мере участвовать в цифровом будущем и получать от него выгоду.
🇧🇾 В Республике Беларусь внимание уделяется равному доступу к цифровой инфраструктуре, включая устойчивую связь в сельских и удаленных районах.
📶 БелГИЭ поддерживает цели WTISD-2025, внедряя цифровые инструменты мониторинга и аналитики, способствуя развитию телеком-услуг и соблюдая международные стандарты в сфере связи для устойчивого цифрового развития страны.
#WTISD#ITU#важные_даты
💠 17 мая отмечается Всемирный день электросвязи и информационного общества
В 2024 году тема Дня звучит как «Цифровые инновации для устойчивого развития» и призвана привлечь внимание к прогрессу, которого еще предстоит достичь, чтобы каждый мог воспользоваться преимуществами цифровых технологий.
Инновационные технологии могут помочь решить самые насущные мировые проблемы: от борьбы с изменением климата до ликвидации голода и бедности. Фактически, цифровые технологии могут помочь достичь 70% Целей устойчивого развития ООН к 2030 году. Однако явные цифровые пробелы препятствуют инновациям во многих частях мира.
📝 Всемирный день электросвязи впервые отмечался 17 мая 1969 года в честь основания Международного союза электросвязи и подписания первой Международной телеграфной конвенции в 1865 году.
#WTISD#ITU#ИКТ#важные_даты