Как работает функция 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
🪙Tomarket Early Adopters Reward
After passing through many phases, Tomarket is getting closer to the long-awaited listing day that all Tomarket users have been looking forward. You still have plenty of time to earn more TOMA through several methods.
Tomarket also appreciates the early adopters who have supported this project from the beginning until now.
🥇Tier 1: Joined before July 14, 2024 - Earn an extra 20% TOMA based on your holdings during the TGE snapshot.
🥈Tier 2: Joined before July 31, 2024 - Earn an extra 15% TOMA.
🥉 Tier 3: Joined before August 31, 2024 - Earn an extra 10% TOMA.
😄What are you waiting for?
Log in now and claim your reward!
Listing Date: December 20
#Tomarket#TOMA
Listing $TOMA is coming!
December 20🪙
Celebrate the exclusive Giveaway 💰 — use the link below to open a chest and win up to 🪙1,000 TOMA! 🎁
Don't miss this chance to grab more TOMA before the big listing! 🚀✨
#Giveaway#TOMA
#Molise
Indagati per abuso di ufficio il presidente della Regione Donato #Toma e alcuni suoi assessori. I fatti, avvenuti tra il 2020 e il 2021, ruotano attorno all'incarico di commissario straordinario del Consorzio per lo sviluppo industriale di Campobasso-Bojano
@UltimoraPolitics
Fewer than 50,000 Golden Tickets left!
Already part of the club? 🪙 If you're farming $TOMA, don’t miss out — grab your lucky ticket for just ⭐️250 Telegram Stars before the snapshot on December 18.
Mark your calendar: listing goes live on December 20!
#Tomarket#TOMA#Airdrop
💎TON check-ins are available in Tomarket🍅
Now you can get as much Tomarket 🌟 Stars as you wish without playing machine and get the highest level of League easily!
Don't miss this opportunity!😄
#Toma#TON#Airdrop#Bitget
🍅 $TOMA's official listing date: 20th December
It's official. Early and active players will be happy.
And remember, your level will be the key.
Check your TOMA balance!😄
#TOMA#Tomarket#Airdrop#listing
#Italia
❗️ Perde forza l'appello dei governatori a Draghi: dopo il no dei 3 governatori di #FdI|ECR, si sfilano anche i forzisti #Cirio, #Bardi, #Toma e #Occhiuto.
@UltimoraPolitics
🍅Pre-deposit 🪙$TOMA on CEX and $200,000 bonus
#Tomarket is preparing to enter two leading exchanges — #Gateio and #Bitget!
💰$TOMA Listing Confirmed on Gate.io:
Starting from December 20, 2024 at 12:00 PM (UTC), $TOMA trading will start on the Gate.io exchange.
💱$TOMA output is open on Bitget:
Pre-deposit for $TOMA opens on Bitget exchange on December 13th at 8:00 UTC. Token holders can deposit their assets without gas fees and get a chance to earn up to $100 in $TOMA tokens from a total prize pool of $200,000 !
The promotion periodis from December 13 to 18 — act quickly!✈️
Participation in the promotion is carried out on a first come, first served (FCFS) basis, so make sure to contribute your $TOMA and become one of the lucky ones who receive additional rewards!
🪙Go to the app, open the Airdrop tab and choose the method of sending tokens.
ℹ️ To withdraw you will need your TOMA address on the Bitget exchange: Bitget\TOMA\Deposit (Aptos network) + your UID
#Tomarket#TOMA#Gateio#Bitget#CryptoNews#Airdrop
⏺PixelSwap Farming Pool in🍅Tomarket
#PixelSwap recently partnered with the well-known social platform Tomarket, which allows Web2 users to easily transition to Web3 through games, earnings and trading.
There is a new farming pool available in 🍅#Tomarket app where you can get a share of $PIX depending on how much $TOMA you contribute to the pool. The pool starts tomorrow at 10:00 UTC🕓
✖️Use TOMA to get PIX!
#TOMA#PIX#earn#farming