Как работает функция 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
Compact power and sleek design: introducing the new Mac Mini 2024 with the M4 chip! Featuring a 10-core CPU and GPU, 16GB of unified memory, and a 256GB SSD for outstanding performance in a small package. Perfect for those seeking speed and sustainability (it’s Carbon Neutral too)! 💻🌱#MacMini
What do you think of it?🍎
VexlTech 推出 StudioDock Pro 显示器,支架容纳 Mac mini 与扩展坞
厂商 VexlTech 本月 11 日在 Kickstarter 平台上线了一项名为 StudioDock Pro 的显示器众筹项目,目前已得到了超越最低目标的支持。 StudioDock Pro 显示器正面为一块 5K 高分高亮屏幕 ,支架背部可 容纳苹果新模具 Mac mini ,此外支架还 兼具扩展坞功能 。其采用磁吸固定收纳设计,可减少桌面的线材存在。
标签:#macmini#studiodockpro#vextech
Created by RocM
官方频道:@rocCHL
官方群组:@roctech
官方合作:@rocmmbot
🍏🇺🇸 Почему Apple возвращает сборку Mac Mini в Америку?
Apple приняла важное решение перенести производство популярного компактного компьютера Mac Mini на предприятие Foxconn в Техасе, где уже налажен выпуск серверов для искусственного интеллекта. Несмотря на скромную долю Mac Mini в общей структуре продаж линейки Mac — всего около 5%, эксперты отмечают, что за этим решением кроется глубокая логика.
Эксперт РТУ МИРЭА Андрей Рыбников подчеркивает, что происходящее — не просто политический акт, а начало стратегического процесса локализации производства важнейших элементов электронной инфраструктуры. Панdemic COVID-19 обнажила слабые места существующих цепочек поставок, и Mac Mini выступает пилотной моделью для проверки работоспособности местной производственной платформы.
Интересно отметить, что перенос производства в США сопровождается рядом серьезных вызовов. Стоимость труда в Америке значительно выше китайской: средняя зарплата американского рабочего достигает около $30-$40 в час, в то время как китайский рабочий получает около $5-$6 в час. Добавьте сюда дополнительные расходы на логистику и сертификацию, и станет ясно, что себестоимость продукта неизбежно возрастет.
Аналитики оценивают потенциальный рост затрат в диапазоне от 10% до 20%, что скажется на потребительских ценах. Следовательно, главный вопрос заключается в том, какой компромисс найдет Apple: продолжать развивать производство в США или оставаться верной дешевым китайским площадкам?
#Apple#MacMini#Foxconn#Техас#Производство#Технологии#Логистика#Китай#Экономика#Бизнес#USA#Innovation#Technology#Politics
🌐 EconRUDN ТГ | MAX