Как работает функция 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
Only 3 Days Until FRUIT CIRCUS PARTY! 🍉🎪
Why wait for the fun? The Buy Bonus feature lets you jump straight into the bonus round, where multiplicative multipliers never reset between spins. More spins, more multipliers, more mayhem! 🎢
Tick-tock, the madness begins in just 3 days. June 27th – mark the date!
➡️DEMO: https://bit.ly/demo-fcp
#FruitCircusParty#MultiplicativeMultipliers#BuyBonus#TrueLab#TrueGames#TrueSlots
Step Right Up! Step right up! There's a new circus hitting town!
Tired of bland fruits? Us too. Meet FRUIT CIRCUS PARTY – where cascading wins, high volatility, and multipliers up to x10,000 make your average fruit game look like a snooze fest. 😴💣
Why? CASCADING MULTIPLICATIVE MULTIPLIERS, that's why. 🔥
We're talking 243 Ways to Win, Cascading multipliers and a bonus buy to get you right into the action.
This isn't your average circus. Launching 27th June. 🗓️
#CircusFruitParty#MultiplicativeMultipliers#BuyBonus#ComingSoon#TrueLab#TrueSlots#TrueLab
BOOM! The Fruit Circus Party is in town tonight! 💥
The wait is over, so It's finally time to unleash those unlimited multiplicative multipliers and kick off the mayhem!
Use the Buy Bonus to plunge straight into the bonus round, where multipliers only head in one direction - UPWARDS. Because who needs limits, right?
Fruit Circus Party is OUT NOW! 🚀
➡️ SPIN IT: https://bit.ly/demo-fcp
#FruitCircusParty#OUTNOW#MultiplicativeMultipliers#BuyBonus#TrueLab#TrueGames#TrueSlots
Tired of boring fruit games? We’ve got you covered. Our latest game, FRUIT CIRCUS PARTY, features multiplicative multipliers with no limits! That’s right, endless chaos and infinite potential!
🎢 Charge the multipliers by landing wins and triggering cascades. The more you win, the crazier it gets, and we mean CRAZIER! You can even use the Buy Bonus to head straight into the bonus round, where multipliers don't reset and only head upwards. Because who needs stability, right? 🎪💥
We’re just 10 days away from launching this fruity frenzy. Mark your calendars for June 27th!
Can't wait? Hit up the demo right here!
➡️https://bit.ly/demo-fcp
#FruitCircusParty#MultiplicativeMultipliers#CascadingWins#BuyBonus#TrueLab#TrueGames#TrueSlots