Как работает функция 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
🖼 Trending now: #CryptoIntegration – JPMorgan to accept Bitcoin and Ether as collateral for institutional clients. #BTC#ETH#JPMorgan
💰 摩根大通(JPMorgan Chase & Co.)計劃允許機構客戶使用比特幣與以太坊作為抵押資產,標誌著傳統金融與加密市場邁向更深層的融合。
被視為華爾街擁抱加密資產的重要一步,或將推動主流金融進一步開放區塊鏈應用。 #Insight#Web3#Blockchain
@EthereumGlobalNews Follow for more global Web3 & DeFi updates!
🚀 Securitize Integrates Tokenized Assets with TRON Network
Securitize, a platform specializing in the tokenization of real-world assets (RWA), has announced its integration with the TRON network. According to Foresight News, this development enables Securitize to introduce its tokenized funds and securities onto the TRON blockchain. This integration marks a significant step in expanding the accessibility and functionality of tokenized assets within the blockchain ecosystem.
#Securitize#Tokenization#TRON#Blockchain#RWA#DigitalAssets#CryptoIntegration#TRX
#BlockchainBridges#DeFiExplained#CryptoIntegration#Web3Tools#мост#база
Что такое мосты в блокчейне и зачем они нужны?
Мосты (bridges) в криптомире — это технологии, которые позволяют перемещать активы или данные между разными блокчейнами. Например, представь, что у тебя есть токены на Binance Smart Chain (BSC), но ты хочешь использовать их на Ethereum. Так как сети не могут взаимодействовать напрямую, мост берёт на себя функцию "проводника", переводя активы с одной сети на другую.
❓Как это работает?
Когда ты используешь мост, токены блокируются на одной сети (например, на BSC), а на другой сети (Ethereum) создаётся их "обёртка" (wrapped) — аналог в нужной сети. Этот процесс напоминает перемещение денег между банками: они не физически переходят, но система фиксирует изменения на обеих сторонах. Когда тебе понадобится обратно перевести токены, обратный процесс снимет "обёртку" и разблокирует твои оригинальные активы.
📌Пример
Представь, что у тебя есть токены USDT на сети BSC, и ты хочешь использовать их в приложении DeFi на Ethereum. Мост "заблокирует" эти USDT на BSC и создаст эквивалент на Ethereum, например, wrapped USDT (WUSDT). Эти WUSDT можно будет использовать так же, как обычные USDT, но уже на другой сети.
❗️ Мосты улучшают взаимодействие блокчейнов и позволяют гибко перемещать активы между разными экосистемами. Однако, учти, что этот процесс может занимать некоторое время, так что надо быть готовым подождать несколько минут.
⏩
❗️Ставьте лайки и подписывайтесь на наш канал, чтобы узнавать больше о мире блокчейн и криптовалют!
@MirraChannel😎