Как работает функция 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
✨ Бергамот и озон из коллекции «Антология» от BAGO home ✨
Свежесть бергамота и прохлада озона на теплой древесной основе — аромат, который очищает пространство и наполняет его легкостью. 🌿🌀
Коллекция «Антология» создана для просторных интерьеров: элегантные диффузоры-декантеры объемом 400 мл радуют изысканным дизайном и наполняют дом ароматом надолго, охватывая большую площадь. Это не просто аромат для дома — это элемент стиля и атмосферы.
#BAGOhome#Антология#БергамотиОзон#АроматДляДома#АроматическийДиффузор#АроматДляБольшихПространств#ЭлегантныйИнтерьер#УютВДоме#Diffuser#HomeFragrance#LuxuryHome
Среди многих представлений о России одной из самых часто упоминающихся является Сибирь. Это слово манит и пугает одновременно. Для большинства же русских и россиян Сибирь – своего рода один из её символов, место средоточия природной и ресурсной силы💪
Поэтому не удивительно, что существует и праздник, посвященный этому региону. Он отмечается ежегодно 8 ноября и носит название День Сибири.🌲
Наслаждаемся ароматом настоящего сибирского кедра вместе с аромадиффузором "Сибирская сосна" от BAGO home!
Натуральный хвойный аромат сибирской сосны.🌲🌲🌲 Как будто кто-то рядом с вами взял и растер в ладонях шишки и сосновые иголки🌲, а вы вдруг сделали глубокий вдох и услышали этот благородный аромат.🌲
⠀
По вопросам пишите в комментарии, директ!
⠀
⠀
#BAGOhome#BAGOhomeORIGINALS#багохоум#homefragrances#ароматыдлядома#homescents#homedecor#кедр#подарки#сосна#корпоративныеподарки#подарок#сосновыйбор#ароматы#ароматическийдиффузор#perfume#diffuser#аромат
Виновница новогоднего торжества – «Янтарная ель».🎄 Восхитительная композиция из коллекции «Мозаика», она пленяет сказочным сочетанием смолистого хвойного аромата еловых иголок, сосновой древесины и липких зеленых шишек, окутанных тёплым амбровым облаком.
Этот прекрасный аромат наполнит дом праздничной атмосферой.✨
⠀
Пирамида аромата:
🌲красная бальзамическая ель,
💚сосна,
💛амбра;
⠀
Аромат представлен в виде ароматических диффузоров объемом 75 мл и 110 мл, наполнителей для аромадиффузоров 200 мл, универсальных ароматических спреев для дома и белья 50 мл, ароматических саше.
Страна производства аромата: Великобритания;
Страна производства: Россия
⠀
⚠ Оптовые цены запрашивайте в директ, указав сразу:
⠀
⤵⤵⤵
⠀
Имя, e-mail и телефон
⠀
С вами свяжется наш оптовый отдел.
⠀
⠀
#bagohome#decor#новогодняяелка#аромат#purefragrance#diffuser #подарки#корпоративныеподарки #ароматыдлядома#декор#интерьер#подарочки#новогодниеподарки#опт#мы#старыйновыйгод#зима#зимняяель#ремонт#дизайн
От всей души желаем вам счастья, благополучия и исполнения самых сокровенных желаний!✨
Пусть Новый 2023-й год будет полон чудес и приятных моментов!⭐
С наступающим НОВЫМ ГОДОМ!🎉
⠀
С любовью к вам❤️
Команда BAGO home
⠀
#BAGOhome#багохоум#homefragrances#ароматыдлядома#homescents#homedecor#скороновыйгод#новыйгодкнаммчится#подарки#подарочки#корпоративныеподарки#новогодняяелка#gift#ароматы#ароматическийдиффузор#perfume#diffuser#библиотекаароматов#подаркиподелку#новогоднеенастроение
Самый быстрый способ наполнить свой дом уютом, согреться и провести приятный осенний вечер:
1. Одеться потеплее или закутаться в теплый плед.
2. Приготовить горячий чай, кофе или какао.
3. Зажечь свечу.
На фото ароматическая свеча "Инжир" от BAGO home @bago.official
⚡⚡До конца октября на все носители аромата "Инжир" действует скидка 20%!! Самое время себя порадовать, окружить заботой и наполнить ваш дом невероятно теплым и уютным ароматом🤗
По всем вопросам пишите в комментарии и директ👌
#библиотекаароматов#аромат#ароматы#ароматыдлядома#ароматическийдиффузор #диффузор#инжир#аромасвеча#originals#fragrance#fragranceddiffuser#diffuser#home#homescents#homesweethome#sweet#fig#homedecor#уют#парфюмдлядома#аромасвечи#багохоум#соевыесвечи#москва#moscow#корпоративныеподарки#figs#свечи#bagohome#подарок