Как работает функция 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
#IEEE#тестовыйдоступ
РЦНИ информирует о том, что до 15 марта 2024 года открыт прием заявок на участие в тестовом доступе к полнотекстовым коллекциям книг на платформе IEEEXplore® издательства IEEE.
Даты проведения тестового доступа с 18 марта по 19 апреля 2024 года.
Подробная информация о ресурсе и форма заявки на участие в тестовом доступе доступны на сайте Национальная подписка.
Изображение от Fox Ave Designs на Adobe Stock
👋IEEE, будем знакомы…
… или рубрика «Спид-дейтинг c Издателем» продолжается!😉
IEEE, он же Institute of Electrical and Electronics Engineers, он же Институт инженеров электротехники и электроники, на сегодняшний день насчитывает более 400 тыс. технических специалистов по всему миру.
Цифровая библиотека IEEE Xplore обеспечивает доступ к журналам, материалам конференций, стандартам IEEE и учебным курсам. Помимо того, что IEEE предоставляет доступ к более чем трети современной мировой литературы по электротехнике и компьютерным наукам, ведущие патентующие организации полагаются на исследования IEEE и цитируют более чем в три раза чаще, чем любое другое издательство.
Независимо от того, на каком этапе карьерного пути вы находитесь, ресурсы IEEE помогут вам получить доступ к последним исследованиям и инновациям по широкому спектру направлений! 📝🔭
#IEEE#знакомствосиздателем#электронныересурсы#публикации#технологии#инновации
⚡️ Никола Тесла — гений, опередивший своё время
10 июля — день рождения одного из величайших изобретателей в истории. Его идеи в области переменного тока, беспроводной связи и энергетики стали основой технологий, которые развиваются сегодня благодаря таким организациям, как IEEE.
📡 На платформе IEEE Xplore инженеры и учёные продолжают работу, начатую Теслой — двигая мир вперёд с помощью науки и инноваций.
#NikolaTesla#IEEE#TeslaLegacy#IEEEXplore#ИнженерияБудущего
Предлагаем ознакомиться с графиком вебинаров от ведущих международных издательств на неделю:
✅IEEE | Работа на платформе IEEE Xplore
📅 12 сентября 2023 в 10:00 (мск)
Регистрация доступна по ссылке.
✅Wiley | Преимущество открытого доступа: как открытый доступ повышает ваше влияние
📅14 сентября 2023 в 18:00 (мск)
Регистрация доступна по ссылке.
✅ACS | Масс-спектрометрия: как взвесить молекулу
📅14 сентября 2023 в 21:00 (мск)
Регистрация доступна по ссылке.
✅AMS | Как опубликоваться в American Mathematical Society
📅15 сентября 2023 в 10:00 (мск)
Регистрация доступна по ссылке.
#вебинар#исследования#цитирования#электронныересурсы#наука#библиотека#публикации#ACS#AMS#IEEE#Wiley