Как работает функция 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
Как продуктовые практики помогают найти призвание?😲
#Better#инструмент
Несколько лет назад я наткнулся на метод, который поразил меня до глубины души. Ребята из Стенфордской Школы Дизайна начали применять продуктовые практики и инструменты сервис-дизайна к проблеме поиска профессии по душе. Не создавать продукты, которые помогают найти призвание, а рассматривать свою жизнь как череду прототипов и MVP. Я собирал это всё, тестил, объединял с другими подходами. И теперь буду публиковать серию статей про эти инструменты.
Первая статья про “процессы”, как про основной ориентир в поиске призвания. Лайк, репост, пожалуйста🙃. Будут вопросы – пишите не стесняйтесь, буду рад обсудить и помочь применить на практике.
👉https://medium.com/@dmitriy.d.kapaev/поиск-призвания-af6dc818319a
Кто еще думает над своими проектами, вот вам небольшая подборка для вдохновения эко-направлением у разных брендов🔥🔥:
💫В мужской коллекции Loewe SPRING 2023 дизайнер решил поиграть с идеей соединения искусственного и органического. Вся растительность, представленная на нарядах, - настоящая.
Ее вырастили за 20 дней до показа в специальных «теплицах» рядом с Парижем. Помогала контролировать этот проект испанский био-дизайнер Paula Ulargui Escalona, которая первая начала подобные эксперименты с микрозеленью на одежде.
💫Еще одну интересную задумку со смешением растений и повседневных образов предложил бельгийский магазин Cachemire Coton Soie, который специализируется на продаже одежды из натуральных тканей. Они сделали креативную съемку, где главными аксессуарами стали цветы🌺🌹🌻💐 (фото в части 1/2👆🏼).
Photo: Carlo Scarpato / Gorunway. com; Paula Ulargui Escalona; Cachemire Coton Soie.
*на основе материала vogue. com;
#inspiration#inspiration#ideas#better#greenfashion#этномода#конкурс#IBEFF
2/2