Как работает функция 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
🖥️ ¡Sábado de chollos tecnológicos y detalles top!
Hoy destacamos un ofertón para tu setup: el monitor MSI FHD de 27 pulgadas cae a solo 99€ (un 41% de descuento brutal). También es un día perfecto para regalar (o regalarse) con la elegante colección Hilera de Swarovski por 35€. Y para el coche, no dejes pasar la baliza V16 homologada por la DGT para ir preparándote para la normativa. ✨🚗
👇 Selección del día:
🔥 MSI Monitor FHD de 27 Pulgadas por 99€ (-41% dto)
🔗https://amzn.to/4ugD0PI
🔥 Swarovski Colección Hilera por 35€ (-46% dto)
🔗https://amzn.to/4csEHDc
🔥 Aspiradora sin Cable Smart Screen por 75€ (-15% dto)
🔗https://amzn.to/4bySbeH
🔥 Baliza V16 Homologada DGT por 21,9€ (-27% dto)
🔗https://amzn.to/3NocZx9
🔥 Creatina Micronizada 634g por 23€ (-53% dto)
🔗https://amzn.to/4bazqOq
🔥 Sharpie 24 Rotuladores Permanentes por 9€ (-62% dto)
🔗https://amzn.to/4rkaTMW
#MSI#Swarovski#SeguridadVial#OfertasAmazon#Ahorro
👟 ¡Lunes de chollazos en calzado y tecnología!
Empezamos la semana pisando fuerte con las zapatillas Skechers OG 85 Goldn Gurl a mitad de precio (se quedan en 33€) y las Columbia Crestwood también muy rebajadas. Además, no dejes pasar el cargador rápido de Anker de 65W con un 60% de descuento y la elegancia de los pendientes de aro Swarovski. ¡Ah, y tenemos activa una promo brutal de 3x2 en marcas top en Amazon! 🛍️⚡
👇 Selección del día:
🔥 Skechers OG 85 Goldn Gurl Zapatillas por 33€ (-52% dto)
🔗https://amzn.to/3OZoQST
🔥 Anker Cargador USB C Carga Rapida 65W por 19,9€ (-60% dto)
🔗https://amzn.to/3N6iGzQ
🔥 Zapatillas Columbia Crestwood por 53€ (-33% dto)
🔗https://amzn.to/4s59V8k
🔥 Swarovski Pendientes de Aro por 33€ (-44% dto)
🔗https://amzn.to/4s3fvIm
🔥 IBILI Sarten Indubasic 14 cm por 6,9€ (-56% dto)
🔗https://amzn.to/3P02SPA
🔥 Compra 3 por el precio de 2 ¡Marcas Top!
🔗https://amzn.to/40RWegT
#Skechers#Anker#Swarovski#OfertasAmazon#Ahorro
Rianna + Nina
Один из наших любимейших брендов представил свою новую коллекцию #Мифология на недавней берлинской неделе моды.
MYTHOLOGIA на Berlin Fashion Week - это сочетание в одной коллекции наследия разных культур.
Бренд работает с винтажными тканями, и коллекция создавалась с берлинском ателье из винтажных материалов.
#MYTHOLOGIA рассказывает историю античных времен в интерпретации дизайнеров бренда.
Узоры, выложенные вручную кристаллами #Swarovski, фрагменты винтажных японских кимоно, китайская вышивка XIX века, европейские скатерти пятидесятых годов XX столетия, а также традиционная греческая вышивка шёлком...
Взрывной микс, который как нельзя лучше отражает послание нашего проекта: множественных культур, переплетение разных культурных мотивов в одной коллекции.
#этнофьюжн#discoveringtalents
💥Collar Swarovski Infinity Blanco
Regalo perfecto que simboliza amor infinito
✅OFERTA: 56.53€
❌ Antes: 95.0€
💰Ahorras un 40%🔥
Añade un toque de elegancia y brillo a cualquier outfit
👉 Haz brillar tu Navidad con Swarovski
#swarovski#collar#infinity#moda#belleza#navidad#ofertas#viral
🛰️Oferta publicada en Moda y Belleza