Как работает функция 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
19.04.26 Сумы - Мирополье
Позиционные боевые действия в Сумской зоне безопасности.
ВС РФ продвинулись на 1 км от демаркационной линии к Мирополью с восточного направления. Передовая позиция ВС РФ под огнём ВСУ.
1:26 50.993179,35.316483
Источник 21+
Геопривязка
#ru
18.04.26 Краснополье - Таратутино
Позиционные боевые действия в Сумской зоне безопасности.
Передовая позиция ВС РФ в Таратутино подверглась обстрелу ВСУ. ВС РФ продвинулись в Сумской области на 3,5 км и достигли новых позиций в населённом пункте.
0:43 50.728385, 35.375816
Источник 21+
Геопривязка
#ru
16.03.26 Северск - Резниковка
Активные боевые действия в районе Северска.
Пехотная атака ВС РФ в Резниковке. Штурмовая группа зачищает позицию ВСУ в жилой застройке и увеличивает зону контроля на 700 метров.
48.838569,37.977290
Источник https://t.me/OMSBr_123/1754
Геопривязка
#ru
13.04.26 Великая Новосёлка - Александроград
Активные боевые действия в районе Великой Новосёлки.
Военнослужащие ВС РФ занимают новые позиции под огнём противника на рубеже Искра - Александроград. Увеличение зоны контроля ВС РФ на 2,5 км по фронту на левом берегу реки Волчья.
0:26 48.010070,36.619011
Источник 21+
Геопривязка
#ru
12.04.26 Сумы - Мирополье
Позиционные боевые действия в Сумской зоне безопасности.
Военнослужащие ВС РФ попали под обстрел ВСУ
западнее посёлка Мирополье. ВС РФ продвинулись в Сумской области увеличив зону контроля до 3 км от демаркационной линии.
51.037774, 35.344966
Источник 21+
Геопривязка
#ru
11.04.26 Константиновка - Долгая Балка
Позиционные боевые действия в районе Горловки.
Передовая позиция ВС РФ в жилой застройке Долгой Балки под огнём дронов ВСУ. ВС РФ продвинулись на 1 км к северу от Степановки и заняли новые позиции в южной части посёлка Долгая Балка.
0:14 48.481047, 37.607169
Источник 21+
Геопривязка
#ru
11.04.26 Краснополье - Новодмитровка
Позиционные боевые действия в Сумской зоне безопасности.
Штурмовые подразделения ВС РФ продвинулись более 4,5 км в направлении на Краснополье и заняли новые позиции в восточной части Новодмитровки. Передовая позиция ВС РФ в жилой застройке посёлка под обстрелом с дрона ВСУ.
1:38 50.75527, 35.39651
Источник 21+
Геопривязка
#ru
11.04.26 Константиновка - Степановка
Позиционные боевые действия в районе Горловки.
Передовая позиция ВС РФ в окрестностях Степановки подверглась обстрелу со стороны ВСУ. ВС РФ продвинулись более1.5 км и вышли на северные окраины Степановки.
0:39 48.473420,37.613850
Источник 21+
Геопривязка
#ru
06.04.26 Северск - Никифоровка
Активные боевые действия в районе Северска.
Атака ВС РФ пехотным подразделением севернее Никифоровки. Штурмовая группа зачищает позицию ВСУ. ВС РФ продвинулись около 2 км и увеличили зону контроля на рубеже Никифоровка - Каленики.
48.80452, 37.92016
Источник 21+
Геопривязка
#ru
06.04.26 Покровское - Берёзовое
Позиционные боевые действия в Днепропетровской зоне безопасности.
Передовые позиции ВС РФ в Берёзовом подверглись обстрелу ВСУ. ВС РФ заняли ряд новых позиций в посёлке увеличив зону контроля на 1 км.
0:19 47.871420,36.492084
1:13 47.874686,36.491471
Источник 21+
Геопривязка
#ru
31.03.26 Северск - Кривая Лука
Активные боевые действия в районе Северска.
Атака ВС РФ подразделением легких мотострелков около Кривой Луки. Штурмовик ВС РФ попал под обстрел ВСУ на трассе к посёлку. ВС РФ увеличили зону контроля выйдя на рубеж Каленики-Кривая Лука.
0:41 48.860286,38.001178
0:43 48.859195,37.930673
Источник 21+
Геопривязка
Геопривязка так же по https://t.me/creamy_caprice/11418?single
#ru
27.03.26 Красноармейск - Белицкое
Позиционные боевые действия в районе Красноармейска.
ВС РФ заняли ряд новых позиций в восточной части Белицкого. Передовые позиции в жилой застройке под огнём ВСУ . Продвижение ВС РФ более 600 метров.
0:06 48.40801, 37.1914
0:18 48.40476, 37.19765
Источник 21+
Геопривязка
#ru