Как работает функция 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
#QNT/USDT analysis :
#QNT is currently in a correction phase. Price is expected to decline further and test the previous swing high support level before continuing its bullish momentum. It’s advisable to wait for the price to retest the previously respected zone for a short entry, as the price is anticipated to decline and test lower levels.
TF : 1D
Entry : $126
Target : $81
SL : $156
#QNT/USDT analysis :
#QNT is currently in a downtrend, trading below the 200 EMA. The price is likely to retrace and test the resistance zone before continuing its bearish momentum. The current swing low is expected to be tested.
TF : 1H
Entry : $70.4
Target : $66.5
SL : $72.5
#QNT broken down the trendline on 12H Time frame,we expect another dump after pullback,more correction incoming..👀
❄️@signals_bitcoin_crypto❄️
❄️@Shadow_support0o❄️
📊#QNT price break below the $97 major support area. The last hope is the $90 support level; if the price breaks below this, we see a heavy selloff. Price needs to reclaim the $100 level to gain some positive movement. It is better to wait for some time to open new trades.⌛️
❄️@signals_bitcoin_crypto❄️
❄️@Shadow_support0o❄️
#QNT/USDT UPDATE:
#QNT is now trading around 106$. #QNT is moving inside a symmetrical triangle on 4hr time frame. So the Possible scenarios are If the price pumps up and breaks out of the triangle, we can see bullish momentum in it. Otherwise If the price dumps and breaks down of the triangle, we can see bearish momentum in it. Stay tuned with us for further updates✔️
#Do You Know Your Crypto Logos? #XEC#QNT#BSV#ENJ#KCS#ZEC
#cryptogemtokenshttps://cryptogemtokens.com/do-you-know-your-crypto-logos-xec-qnt-bsv-enj-kcs-zec/