Как работает функция 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
🕯️ ¡Jueves de inventos virales en SHEIN!
Hoy traemos dos cosas que os van a encantar: la vela con forma de café helado por solo 0,99€ (perfecta para un detalle de San Valentín low-cost) y la bolsa de almacenamiento que convierte el caos de peluches en un cómodo puff por 7,25€. ¡Genial para ordenar la habitación! Además, ropa de abrigo y lluvia a muy buen precio. 🧸☕
👇 Selección del día:
☕ Vela de gelatina con taza de café por 0,99€ (100+ vendidos 🔥)
onelink.shein.com/29/5gb6axa7sz6k
🧸 Bolsa de almacenamiento Puff para peluches por 7,25€ (-38% 🔥)
onelink.shein.com/29/5gb6eji97w9a
👗 SHEIN Clasi Vestido largo estampado dálmata por 8,24€ (-45% 🔥)
onelink.shein.com/29/5gb6i7pbrkp9
🧥 Cazadora de invierno cuadros y capucha por 23,41€ (-19% 🔥)
onelink.shein.com/29/5gb6jqy6xt7g
👢 Botas de lluvia impermeables tobillo por 20,28€ (Ideales 🔥)
onelink.shein.com/29/5gb6fkzubj99
🧥 Chaqueta vaquera oversize cuello Peter Pan por 32,99€ (Novedad)
onelink.shein.com/29/5gb6cmg699x0
#SHEINfinds#Decoracion#ModaLowCost
💍 ¡Jueves de precios imposibles en AliExpress!
Hoy tiramos la casa por la ventana con dos ofertas de 4€: un conjunto deportivo completo y un set de reloj + joyas (¿solución express y barata para San Valentín? 😜). Además, camisas de lino para ir preparando el buen tiempo y zapateros de diseño a mitad de precio. ¡Corre que vuelan! 📉✨
👇 Selección del día:
🏃♂️ Conjunto Deportivo Informal Dos Piezas por 4,03€ (-70% 🔥)
s.click.aliexpress.com/e/_EHIscWk
💎 Conjunto Lujoso con Reloj, Anillo, Collar por 4,29€ (-51% 🔥)
s.click.aliexpress.com/e/_EGaus4u
👕 Camisas de Manga Corta de Lino y Algodón por 6,55€ (-61% 🔥)
s.click.aliexpress.com/e/_EQeCtuy
👟 Zapatillas Minimalistas Anticaídas por 23,79€ (-58% 🔥)
s.click.aliexpress.com/e/_EvHxd1e
👠 Zapatero con Cubo Basculante por 87,69€ (-52% 🔥)
s.click.aliexpress.com/e/_EIU3XFa
❄️ Cubrezapatos con Garra de Nieve por 2,36€ (-61% 🔥)
s.click.aliexpress.com/e/_Evyeuha
#AliExpress#ModaLowCost#SanValentin#Ofertas#Ahorro
📉 ¡Jueves de descuentos brutales en AliExpress! (Hasta -80%)
Hoy hemos encontrado verdaderas gangas para cerrar enero. Lo más fuerte: un reloj elegante y unos pantalones chinos con un 80% de descuento. También hay chaquetas de invierno por apenas 10€ y un aspirador de coche súper práctico por 6€. ¡Renueva armario y accesorios por muy poco! 👗🚗
👇 Selección del día:
⌚ Reloj Elegante para Mujer Diseño Clásico por 31,39€ (-80% 🔥)
s.click.aliexpress.com/e/_ExdGCau
👖 Pantalón Largo de Estilo Chino Mujer por 19,49€ (-80% 🔥)
s.click.aliexpress.com/e/_ExkcDLI
🧥 Chaqueta Gruesa Impermeable Hombre por 10,89€ (-55% 🔥)
s.click.aliexpress.com/e/_EJKsCKs
🧹 Aspirador de Coche Pequeño potente por 6,59€ (-50% 🔥)
s.click.aliexpress.com/e/_EylR7Co
🧥 Abrigos con Capucha y Cremallera Mujer por 19,59€ (-48% 🔥)
s.click.aliexpress.com/e/_EQOPxS4
👕 Camiseta con Estampado 3D Hombre por 5,69€ (-51% 🔥)
s.click.aliexpress.com/e/_EGN0ihm
#AliExpressFinds#ModaLowCost#RebajasEnero#Ofertas#Ahorro
📲 No te pierdas ni uno, síguenos en directo:
🔗t.me/ChollazoExpres
🔗chollerosviajeros.com/WhatsApp