Как работает функция 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
📩#DOTUSDT 30m | Mid-Term
📉Long Entry Zone: 7.069-6.792
🎯Accuracy of this strategy - 88.26%
- ⏳ - Signal details:
Target 1: 7.126
Target 2: 7.182
Target 3: 7.239
Target 4: 7.408
_____
🧲Trend-Line: 6.792
❌Stop-Loss: 6.737
💡After reaching the first target you can put the rest of the position to breakeven
Now is the moment to determine whether the bulls are ready to charge or if the bears will take over. Here's what you need to know:
#DOTUSDT is showing promising signs of a bullish continuation from the demand zone around $4.000. The falling wedge formation we've been tracking has broken to the upside, and momentum is building within this crucial area. Should this momentum persist, we could be on the brink of a significant bullish surge.
#DOTUSDT
💢 shows that it is ready for an upward movement after the sharp drop it had and the correction movement it made recently. But its corrective movement is not over yet and we expect the 3.822-3.812 range to fall.
And after that, it can move upwards, which should break its downward trend, and the target that can be used for this upward movement is 4.282 - 4.717 - 5.097.
#DOTUSDT💢 Polkadat is in a descending channel that has reached an important support area on the daily chart.
I think there is a good buying opportunity, you can prepare yourself for a possible profit of 50% by buying at this level.
---
Polkadot находится в нисходящем канале, который достиг важной зоны поддержки на дневном графике.
Я думаю, что это хорошая возможность для покупки, вы можете подготовиться к возможной прибыли в 50%, купив на этом уровне.
---
پولکادات در یک کانال نزولی قرار دارد که به یک منطقه حمایتی مهم در نمودار روزانه رسیده است.
فکر میکنم فرصت خرید خوبی وجود دارد، میتوانید خودتان را برای احتمال سود ۵۰٪ با خرید در این سطح آماده کنید.
---
Polkadot, günlük grafikte önemli bir destek alanına ulaşmış olan düşen bir kanal içinde bulunuyor.
Bu seviyeden satın alarak %50'lik olası bir kâr için kendinizi hazırlayabilirsiniz; bence bu iyi bir alım fırsatı.
📩#DOTUSDT 30m | Mid-Term
📈Long Entry Zone: 1.233-1.191
🎯 - Strategy Accuracy: 87.54%
Last 5 signals: 80.0%
Last 10 signals: 80.0%
Last 20 signals: 87.5%
⏳ - Signal details:
Target 1: 1.243
Target 2: 1.253
Target 3: 1.263
Target 4: 1.292
_____
🧲Trend-Line: 1.191
❌Stop-Loss: 1.181
💡After reaching the first target you can put the rest of the position to breakeven
#ID20000037761