Как работает функция 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
🔥TokenPocket Now supports Linea DeFi Assets Management! Powered by Blockin.ai!
Open your TokenPocket 📲 Assets Page ➡️ DeFi Entrance ➡️manage all your #DeFibehaviors including #Staking, #Deposits, #Farming, #Lending, #LiquidityPools etc.
👉https://tokenpocket.pro
Whales Bring Stablecoins to Exchanges
🔹 After the Christmas crypto market dip, a positive trend emerges as whales deposit stablecoins into exchanges.
🔹 Last 24 hours: 7 deposits of $FDUSD on Binance, each at least $9M; one as high as $50M.
🔹 Deposits linked to new launchpool of Bioprotocol $BIO.
🔹 Large stablecoin deposits indicate whales are gearing up for purchases, potentially boosting market prices.
🔹 Bitcoin spot ETFs halted a 4-day outflow streak with $475M inflow yesterday, while Ethereum funds attracted $117M.
More details on whale activity | ETF inflow information
#Crypto#Stablecoins#Binance#Whales#Bioprotocol#ETF#Bitcoin#Ethereum#MarketTrends#Investment#Finance#CryptoMarket#Trading#FDUSD#Launchpool#Deposits#Inflows#PriceAction#HODL#VC
Justin Sun Transfers $245M in ETH
Justin Sun's team has transferred 70,182 ETH to HTX, valued at approximately $245 million. This includes 42,905 ETH unlocked from Lido Finance and 27,277 ETH from Etherfi. Since November 10, Sun has deposited 179,101 ETH worth about $645 million in total, averaging $3,601 per ETH. Analysts suggest Ethereum could outperform Bitcoin in January 2025, potentially increasing the ETH/BTC ratio above 0.04, which may spur altcoin growth. Historical Bitcoin prices show significant growth leading up to Christmas over the years with predictions continuing for 2025. Spot On Chain | Cointelegraph | Simply Bitcoin TV
#Ethereum#BTC#JustinSun#HTX#LidoFinance#Etherfi#Crypto#PriceAnalysis#MarketTrends#Altcoins#ETHBTC#Deposits#Blockchain#Trading#Fundamentals#Investing#CryptoHistory#FuturePredictions#ETFs#Growth
🚀Big news! With the support of Debank and Blockin.ai, we're thrilled to unveil the integration of 10 New Chains for DeFi Asset Management on #TokenPocket: #Gnosischain, #Arbitrum, #Klaytn, #Avalanche, #Aurora, #Conflux, #BTT, #Nova, #ZKsync, and #EOS EVM.
💪Combined with our existing support for #ETH, #BSC, #Matic, #OP, #Moonbeam, #Heco, #FTM, #OKTC, and #Harmony, we now support a total of 19 Chains!
📲On your wallet's assets page ➡️DeFi Entrance ➡️manage your #DeFi assets, explore #Staking, #Deposits, #Farming, #Lending, #LiquidityPools, and More — all of these on-chain #DeFibehaviors.
🔥Explore and manage your DeFi Assets seamlessly with the power of 👉TokenPocket. Check it out today! #DeFi#blockchain#tokenpocket