Как работает функция 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
🚢Velos Shipping усиливает флот покупкой танкера у Scorpio на фоне нестабильности рынка.
Греческая Velos Shipping, основанная судовладельцем Paschalis Diamantidis, продолжает наращивать флот, приобретя танкер у Scorpio. Сделка стала уже пятой с ноября и увеличила общий флот компании почти до 20 судов (включая балкеры и танкеры).
Рынок M&A в судоходстве сохраняет активность, несмотря на волатильность, вызванную ситуацией на Ближнем Востоке. При этом участники отмечают усложнение сделок — баланс между ожиданиями покупателей и продавцов становится менее предсказуемым.
С операционной точки зрения, стратегия Velos Shipping отражает попытку занять позиции на рынке на фоне циклической неопределённости, используя возможности для покупки активов в условиях ценовой турбулентности.
📌Velos Shipping — греческая судоходная компания, основана в 2019 году предпринимателемPaschalis Diamantidis, находится в частной собственности основателя.
#Shipping#Tankers#DryBulk#Greece#FleetExpansion
🚢Maple Leaf Shipping увеличила флот компании покупкой своего первого балкера типоразмера Newcastlemax.
Китайская Maple Leaf Shipping отметила 70-летие компании - приобретением крупнейшего судна в своей истории — балкера типоразмера Newcastlemax "ES Bright Sea" (206,300 DWT, ex-"Cape Merlin", 2005 г.).
Сделка отражает ускоренную экспансию компании в сегменте Capesize/Newcastlemax, где за последние годы она добавила несколько судов, включая покупки у Zodiac Maritime и Eastern Pacific Shipping.
С операционной точки зрения, компания активно диверсифицирует флот: наряду с балкерами - развивает контейнерный и танкерный сегменты, включая танкеры-химовозы, что позволяет гибко реагировать на рыночные циклы и перераспределение грузопотоков.
Для рынка это сигнал усиления роли частных китайских судовладельцев в крупнотоннажном сегменте и дальнейшей консолидации балкерного флота.
📌Maple Leaf Shipping — основана в 1956 году в Китае, частная судоходная компания, активно развивающая международные перевозки.
Владельцем Maple Leaf Shipping является Йе Чжи (YE ZHI). Он является председателем Maple Leaf Shipping Group, а также вице-президентом Ассоциации молодых предпринимателей Тайчжоу и вице-президентом правления Торговой палаты Чжэцзяна.
#DryBulk#Capesize#Shipping#China#FleetExpansion
🚢Great Eastern Shipping усиливает флот покупкой балкера типоразмера Kamsarmax.
Индийская The Great Eastern Shipping Company (GE Shipping) объявила о покупке балкера типоразмера Kamsarmax, дедвейтом около 81 094 тонн японской постройки (2014 год).
Передача судна ожидается в I-м квартале 2027 финансового года.
Сделка будет полностью профинансирована за счёт собственных средств компании и направлена на увеличение собственного флота.
На данный момент GE Shipping владеет 41 судном совокупным дедвейтом около 3,25 млн тонн: 27 танкеров (включая 5 VLCC, 17 продуктовых танкеров и 5 LPG-танкеров) и 14 балкеров (2 балкера типоразмера Capesize, 9 типоразмера Kamsarmax, 1 типоразмера Ultramax и 2 типоразмера Supramax).
Параллельно компания планирует продать VLGC “Jag Vishnu”, завершение сделки ожидается в IV-м квартале FY26.
По данным компании, текущая загрузка флота близка к 100%, что позволяет активно оптимизировать структуру активов.
Для балкерного рынка покупка указывает на сохраняющийся интерес к типоразмеру Kamsarmax, который остаётся ключевым для перевозок угля, зерна и сырьевых грузов на межрегиональных маршрутах.
📌The Great Eastern Shipping Company Limited — индийская судоходная компания, основанная в 1948 году, одна из крупнейших частных судоходных групп страны.
Акции обращаются на Национальной фондовой бирже Индии (NSE); компания контролируется индийской семьей Шет (Sheth) - это одна из крупнейших частных судоходных компаний в Индии. Ключевыми фигурами в руководстве компании на протяжении многих лет являются представители этой семьи (например, К. М. Шет и Бхарат К. Шет).
Это одна из крупнейших частных судоходных компаний в Индии.
#DryBulk#Kamsarmax#GEShipping#FleetExpansion#ShippingMarkets