Как работает функция 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
🌎 The Zone of Silence in northern Mexico baffles visitors—radios and compasses fail, and strange meteorites have fallen here. Scientists suspect unusual magnetic minerals and local geology disrupt signals, making this desert a hotspot for unexplained natural phenomena. ✨
#mystery⚡#geology⚡#magnetism
👉subscribe Interesting Planet
🌍 Earth has a layered structure: a thin crust, a solid mantle, a liquid outer core, and a solid inner core. The deep core’s movement creates the planet’s magnetic field, vital for life. ✨
#planet⚡#geology⚡#magnetism⚡#geography⚡#nature⚡#earth
👉subscribe Amazing Geography
👉more Channels
🌍 Earth’s outer core is made of liquid iron and nickel and creates the planet’s magnetic field. This powerful shield protects life by deflecting harmful cosmic and solar radiation. ✨
#planet⚡#geology⚡#magnetism⚡#geography⚡#nature⚡#earth
👉subscribe Amazing Geography🌍
🌍 Auroras can ripple like curtains or spiral in arcs because solar particles follow Earth's magnetic field lines. Their shifting shapes reveal invisible patterns high above our polar regions. ✨
#aurora⚡#atmosphere⚡#magnetism⚡#geography⚡#nature⚡#earth
👉subscribe Amazing Geography
👉more Channels
🌍 Auroras glow when charged particles from the Sun hit Earth's magnetic field, making gases like oxygen and nitrogen light up green, red, and even rare purple or blue in the night sky. ✨
#aurora⚡#magnetism⚡#atmosphere⚡#geography⚡#nature⚡#earth
👉subscribe Amazing Geography🌍
🌎 Hidden beneath Jupiter’s clouds, the planet’s metallic hydrogen layer creates an enormous magnetic field. This magnetic field is about 20,000 times stronger than Earth’s and traps intense radiation belts. ✨
#Jupiter⚡#planets⚡#magnetism
👉subscribe Interesting Planet
👉more Channels
🪐 Spanning more than 300 light-years, a vast radio structure known as the "Orion Spur Radio Arc" weaves through our segment of the Milky Way. Detected by the LOFAR radio telescope, this arc is composed of incredibly energetic electrons spiraling around magnetic fields, revealing a hidden backbone of cosmic magnetism threading through our stellar neighborhood. ✨
#MilkyWay⚡#magnetism⚡#radio
👉subscribe Universe Mysteries
🌎 The mysterious Whistler waves are very low-frequency radio signals generated by lightning. They travel along Earth's magnetic field lines and can be converted to eerie whooshing or whistling sounds when played back as audio. These signals were first recorded by radio operators during World War I. ✨
#lightning⚡#magnetism⚡#radio
👉subscribe Interesting Planet
🪐 In the constellation Lynx lives an unusual star known as HD 45166, which has an incredibly strong magnetic field—about 43,000 times greater than Earth’s. This rare "magnetized helium star" shrouds itself in a thick, fast-moving wind of gas, and its unique magnetic properties provide astronomers with a rare look at how intense magnetism can shape the life and appearance of stars. ✨
#unusualstars⚡#magnetism⚡#astronomy⚡#nasa⚡#galaxy⚡#stars⚡#universe⚡#cosmos⚡#space
👉subscribe Universe Mysteries
🌍 Earth’s core spins slightly faster than its surface, a phenomenon called “super-rotation.” This hidden motion helps maintain our magnetic field, vital for navigation and life. ✨
#planet⚡#core⚡#magnetism⚡#geography⚡#nature⚡#earth
👉subscribe Amazing Geography
👉more Channels
🌍 Earth's magnetic field acts like a protective shield, deflecting harmful solar wind and cosmic rays. This invisible force helps preserve our atmosphere and supports life on the planet. ✨
#magnetism⚡#protection⚡#atmosphere⚡#geography⚡#nature⚡#earth
👉subscribe Amazing Geography🌍
🪐 In the constellation Monoceros, the star HD 45166 is an unusually magnetic massive star with a surface magnetic field nearly 43,000 times stronger than Earth's. This extreme magnetism shapes the flow of gas around the star, producing powerful outflows and making HD 45166 a rare laboratory for studying the effects of magnetism on stellar evolution. ✨
#stars⚡#magnetism⚡#Monoceros⚡#nasa⚡#galaxy⚡#astronomy⚡#universe⚡#cosmos⚡#space
👉subscribe Universe Mysteries