Как работает функция 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
🌞ОНО ВОЗВРАЩАЕТСЯ ?!
Похоже, гигантское солнечное пятно AR3590, в прошлом месяце ставшее не только крупнейшим в текущем солнечном цикле, но и породившее мощнейшиевспышки класса X, вот-вот вернётся.
Последние 2 недели оно располагалось не обратной стороне Солнца, но Марсоход "Perseverance" исправно отслеживал ситуацию: с 1 по 9 мар. пятно, сохраняя свой размер, выглядело не распадающимся, но вполне здоровым.
Если так пойдёт и дальше, оно вновь, уже во второй раз появится из-за восточного лимба Солнца около 14 мар.
Фото: Солнце с гигантским пятном AR3590 на снимках марсохода "Perseverance", сделанных с 1 по 9 мар.
#sunspot#Perseverance
Марсоход NASA Perseverance впервые получил возможность сам точно определять своё местоположение на Марсе. Раньше он ориентировался по камерам и оборотам колёс, что давало ошибки до 30 метров. Такая неточность была опасна при движении по пересечённой местности. Новая система снижает погрешность до примерно 25 см.
#perseverance#nasa#навигация
📎Подробнее
Марсоход Perseverance сейчас изучает дельту древней реки в кратере Езеро на Марсе. У него есть георадар, который «просвечивает» грунт на глубину до 35 метров. Когда учёные собрали все данные радара воедино, оказалось, что под поверхностью скрывается ещё одна, более древняя и мощная речная дельта. На её фоне нынешние следы рек на поверхности выглядят просто тонким налётом истории.
#perseverance#жизньнамарсе#nasa
📎Подробнее
🔖 3DNews в Telegram | MAX | VK
🪐 Scientists have discovered that Mars’ Jezero Crater once held an ancient lake, where water persisted long enough to form river deltas and deposit clay minerals—materials that can preserve signs of life for billions of years. The Perseverance rover is now exploring this region, searching for tiny fossilized microbes that may have thrived in Mars' watery past. ✨
#Mars⚡#Perseverance⚡#astrobiology⚡#nasa⚡#galaxy⚡#stars⚡#astronomy⚡#universe⚡#cosmos⚡#space
👉subscribe Universe Mysteries
От "Луны-16" до текущих дней: как ИИ стал ключевым членом космических экипажей 🚀🧠
Ровно 55 лет назад, 24 сентября 1970 года, случилось знаковое событие, которое наглядно доказало: роботы способны на самостоятельные космические миссии. Советская станция «Луна-16» впервые в истории в автоматическом режиме доставила на Землю образцы лунного грунта. Это был триумф инженерной мысли и прообраз будущего! 🌍➡️🌕
Тогда это была продвинутая автоматика, запрограммированная на строгий алгоритм действий. Но идея была гениальной: поручить сложнейшую задачу автомату, заложив фундамент для роботизированного освоения космоса.
Сегодня эту концепцию вывели на принципиально новый уровень благодаря искусственному интеллекту. Современные марсоходы, такие как Perseverance, — это уже не просто исполнители команд с Земли. Они — автономные ученые:
➡️Самостоятельно прокладывают путь, объезжая камни и опасные участки, экономя драгоценное время на связь с Землей.
➡️Анализируют породы с помощью встроенных спектрометров, выбирая самые интересные образцы для дальнейшего изучения.
➡️«Мыслят» на месте, принимая сотни микрорешений за один сол (марсианские сутки).
Эволюция налицо: от жесткой автоматики «Луны-16» к гибкому, адаптивному интеллекту современных роботов-исследователей. ИИ стал тем самым «следующим пилотом», который позволяет нам изучать миры на расстоянии десятков миллионов километров с невероятной эффективностью.
Что ждет нас дальше? ИИ будет критически важен для:
➡️Строительства автономных баз на Луне и Марсе.
➡️Поиска следов жизни в подледных океанах Европы или Энцелада.
➡️Управления сложными орбитальными станциями и звездолетами будущего.
Рекомендую вспомнить посты ранее:
➡️ИИ строит мост к Марсу: как роботы Optimus проложат путь человечеству?
➡️Человек слаб, ИИ — неуязвим.
Как это поможет на Марсе?
А как вы думаете, какая следующая крупная космическая задача будет полностью доверена искусственному интеллекту?
Или без человека никуда?
Делитесь мнениями в комментариях! 👇
#ИИвКосмосе#Космонавтика#Луна16#Perseverance#ИскусственныйИнтеллект#Нейросети#Будущее#Наука#Марс#Робототехника
https://t.me/semasci