Как работает функция 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
❓Do you want to build a #dApp on Venom❓
✅ Join the VenomBlockchain dev community on Discord
➡️https://discord.gg/E5JdCbFFW7
🔎 Check Venom docs with development guides for smartcontracts, tokens, NFT, and more
➡️https://docs.venom.foundation/build/development-guides
⚡️TON Community: MyTonWallet v3.6 Features Unveiled
#TON#Dapp
The TON Community introduces MyTonWallet v3.6 with significant updates. Users can now track any wallet address and view $TON activity within the app, and share transfer links before confirmation. Discover new features like Remember Passcode and Dapp Action Previews.
Source: link
@tonlines
🆕We just released TokenPocket's new version on iOS. 🔺2.4.8🔺
🔵Support Boost Mode. 🚀#memecoin
🔵Native support for #DApp Content Translation.
🔵Native support for TRON Batch Transfer.
You can now upgrade your TokenPocket on the App Store. Ensure the developer is 'TP Global Ltd'.
🔗https://tokenpocket.pro
🆘 Просто эпический фейл от WalletConnect, который я обнаружил сегодня утром.
#WalletConnect - крупнейший (и возможно единственный) сервис подключения крипто кошельков к #dapp#web3 приложениям внес Украину и РФ в черный список.
По сути это парализует работу всего DeFi для СНГ. Вот такая децентрализация или иначе - отсутствие альтернатив “не из США”!
🍌
30 million users in Bitget Wallet!🌐
Bitget Wallet is a cutting-edge Web3 multi-chain wallet that offers a comprehensive platform with wallet, exchange, NFT marketplace, DApp browser, and Launchpad features. Supporting over 100 public blockchains, Bitget Wallet aggregates top DEXs and NFT markets to provide users with the best trading prices.
Bitget Wallet's mission is to create a world-class decentralized crypto wallet that provides a secure and convenient trading experience for all crypto enthusiasts.
Since its founding in May 2018, Bitget Global Inc. has been providing secure asset storage, fast trading, exchange, and investment in DeFi to over 30 million users worldwide. Now it is not just a wallet but an entire ecosystem that provides access to various activities and airdrops.
Tomarket Airdrop
Bitget On Chain Fund Invests in Tomarket App, Fast-Growing Web3 Game on TON. Airdrop scheduled for September.
Join the farming and get 2,000 🍅 $TOMATO tokens at the start!
Download Bitget Walletand start your Web3 journey now!🚀💎
#BitgetWallet#Web3#NFT#TON#DApp#DEX
🆕 0xMantle Bridge now fully supports TokenPocket login, and the official bridge is also listed on the TokenPocket #Mantle Hot #DApp List!
👉https://bridge.mantle.xyz/
🔥You can access Mantle Bridge with your TokenPocket wallet and enjoy the #MantleJourney!
👉https://extension.tokenpocket.pro/#/
👉https://www.tokenpocket.pro/en/download/app
#TokenPocket#MantleJourney
【Details】https://twitter.com/TokenPocket_TP/status/1711686131371413918
【Powered By】Crypto Box
🆕 Mantle Bridge now fully supports TokenPocket login, and the official bridge is also listed on the TokenPocket #Mantle Hot #DApp List!
🔥You can access Mantle Bridge with your TokenPocket wallet and enjoy the #MantleJourney!
👉https://extension.tokenpocket.pro/#/
👉https://www.tokenpocket.pro/en/download/app
#TokenPocket#MantleJourney
【Details】https://twitter.com/TokenPocket_TP/status/1711685010049368156
【Powered By】Crypto Box
😼Catizen Mini Game Center Open Beta now LIVE!🚀🎮
👌 Dive into a world of top-tier games that blend fun with innovative earning opportunities. Enjoy exclusive rewards like game airdrops and referral bonuses.
👌 Earn a 10% top-up rebate from all your referrals across all games, including Catizen!
Don’t miss out — start your adventure in the Catizen Mini Game Center today! 🌟
🔡
🔡
🔡 Open beta is live! Report bugs or game feedback to earn 300 Catizen FishCoins 🪙
😸Explore Catizen Mini Game Center
#catizen#gamee#play#p2e#web3#gamefi#dogs#telegram#dapp#notcon#hamsetr