Как работает функция 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
🗓️El 17 de abril, en la Universidad Nacional Mayor de San Marcos (UNMSM), con la participación de funcionarios de la Embajada de Rusia y de la Casa Rusa, tuvo lugar el primer evento del ciclo «Viernes Astronómicos», dedicado al vuelo de Yuri Gagarin.
🎞️En el marco de la velada, organizada por el grupo SPACE de la Facultad de Ciencias Físicas, se proyectó el documental de RT «Gagarin» y se presentó la exposición fotográfica «Los Primeros en el Espacio».
🏆El elemento central fue la ceremonia de premiación de los ganadores de la Olimpiada Mundial Abierta de Astronomía 2025 (OWAO), celebrada en Sochi.
Los participantes peruanos obtuvieron:
🥇🥇2 medallas de oro,
🥈🥈2 medallas de plata y
🥉🥉2 medallas de bronce.
🇷🇺🇵🇪Las medallas para la ceremonia fueron enviadas desde Rusia.
👏Felicitamos a los ganadores!
#Gagarin65
#OWAO2025
🔭¡Jóvenes de Venezuela, esta es su oportunidad de alcanzar las estrellas!🇻🇪
La Olimpiada Internacional Abierta de Astronomía (OWAO) es una prestigiosa competencia juvenil anual que reúne a los mejores talentos del mundo en el campo de la astronomía, combinando ciencia, tradición y amistad internacional.
🌍 En su cuarta edición, la Olimpiada se celebrará del 20 al 27 de septiembre de 2025 en el moderno centro científico y educativo del Territorio Federal “Sirius”, ubicado en Sochi, Rusia.
🪐 La competencia consta de cuatro rondas:
— Observación del cielo
— Práctica
— Teoría
— Evaluación integral
📘Idioma oficial: inglés
📅Fecha límite de inscripción:20 de agosto de 2025
🔗Registro en:sitio web oficial de la OWAO
Además de los retos científicos, los participantes disfrutarán de un rico programa cultural: conferencias, clases magistrales con expertos internacionales, visitas a centros astronómicos y recorridos por la costa del mar Negro.
🇷🇺 Desde la Embajada de Rusia en Venezuela, invitamos a la talentosa juventud venezolana —apasionada por el universo, la ciencia y el descubrimiento— a representar dignamente al país en este encuentro internacional de mentes brillantes.
¡Prepárate para una experiencia que puede cambiar tu vida! 🌠
#Astronomía#OWAO2025#Sochi2025
#RusiaVenezuela80