Как работает функция 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
🚢“Padma Leader” — новый двухтопливный автомобилевоз NYK на 7 000 CEU.
Японская судоходная компания Nippon Yusen Kabushiki Kaisha приняла в состав флота новый автомобилевоз (тип PCTC) - “Padma Leader”, построенный на верфи Tadotsu группы Imabari Shipbuilding.
Судно класса NK обладает вместимостью 7 000 CEU и предназначено для глобальных линий автоперевозок.
✔️ Главный двигатель Mitsui-MAN B&W 6S60ME-C10.5-GI (двухтопливный: обычное топливо или СПГ).
✔️ Снижение выбросов CO₂ до 30% по сравнению с HFO-аналогами.
✔️ Практически нулевые выбросы SOx и сокращение NOx на 80–90% (EGR).
✔️ Максимальная скорость: более 21 узла.
Проект судна предусматривает безпереборочную конструкцию с расширенными прямыми рампами и регулируемыми палубами, что повышает безопасность и эффективность погрузки автомобилей, трейлеров и тяжёлой автотехники.
Ввод СПГ-двигателей в сегменте судов-автомобилевозов (тип PCTC) -подтверждает долгосрочную ставку японских операторов на декарбонизацию и соответствие IMO 2030/2050. При устойчивом спросе на автологистику подобные суда формируют новый стандарт энергоэффективности в сегменте судов типа PCTC.
📌NYK Line основана в 1885 году в Японии. Компания входит в группу Mitsubishi и является одним из крупнейших глобальных морских перевозчиков с диверсифицированным флотом (контейнеровозы, автомобилевозы, танкеры, СПГ-газовозы и др.).
Крупнейшие акционеры — японские институциональные инвесторы и структуры, связанные с Mitsubishi Group.
#NYK#CarCarrier#LNGFuel#Shipbuilding#Decarbonization
🚢Глава CMA CGM подписал знаковый заказ на контейнеровозы в Индии.
Французская группа CMA CGM разместила заказ на строительство шести контейнеровозов, вместимостью по 1 700 TEU на верфи Cochin Shipyard Limited.
Суда будут оснащены двухтопливными СПГ-двигателями и зарегистрированы под индийским флагом. Техническая поддержка проекта обеспечивается HD Hyundai Heavy Industries. Подписание состоялось в Нью-Дели при участии главы CMA CGMРодольфа Сааде и министра портов Индии.
Контракт имеет стратегическое значение: это одни из первых контейнеровозов подобного класса, построенных в Индии, что усиливает амбиции страны в сегменте коммерческого судостроения и отражает диверсификацию верфей за пределами традиционных азиатских центров.
📌CMA CGM основана в 1978 году во Франции. Компания частная и контролируется семьёй Сааде (Saadé).
#containerships#LNGfuel#IndiaShipbuilding#CMA_CGM#maritimeindustry
🚢China Merchants заказывает балкеры на СПГ-топливе для работы на реке Янцзы.
Подразделение China Merchants Group — Changhang Freight (Zhoushan) — разместило заказ на два сухогрузных судна дедвейтом по 20 000 тонн с двигателями, работающим на СПГ для работы на реке Янцзы.
Строительство будет осуществляться на верфи Jiangxi New Jiangzhou Shipbuilding Heavy Industry. Суда разработаны как балкеры типа "река-море", способные работать как на внутренних водных путях Янцзы, так и на прибрежных маршрутах.
Каждое судно будет оснащено двумя главными двигателями мощностью по 2 000 кВт и системой СПГ-пропульсии. Ожидается, что применение СПГ позволит сократить выбросы CO₂ более чем на 20% по сравнению с традиционным мазутным топливом.
Проект поддерживает стратегию Китая по декарбонизации судоходства на крупнейшей внутренней транспортной артерии страны и демонстрирует растущую роль экологичных технологий в речном и прибрежном флоте.
📌China Merchants Group — китайская государственная корпорация, основанная в 1872 году, один из крупнейших мировых конгломератов в области судоходства, портов и логистики. Контрольный пакет принадлежит государству КНР.
#InlandShipping#LNGFuel#ChinaMerchants#YangtzeRiver#GreenShipping