Как работает функция 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
Batteries are a big no-no in blue recycling bins as they could short-circuit and set fire to other materials.
Drop them off in e-waste recycling bins instead. Learn more: go.gov.sg/e-waste#RecycleOurEWaste
Give your e-waste a second life by recycling them at e-waste collection points!
Here’s where you can recycle your e-waste: go.gov.sg/e-waste
#RecycleOurEWaste#RecycleRight
Still holding on to your spoilt electrical & electronic devices that are beyond repair?
It’s time to let it go! Recycle them to recover precious materials (e.g. gold, silver, copper) that can be used to make new products.
Learn more about how to recycle your e-waste at go.gov.sg/e-waste
#RecycleOurEWaste#RecycleRight
𝗟𝗲𝘁’𝘀 𝗸𝗲𝗲𝗽 𝗲-𝘄𝗮𝘀𝘁𝗲 𝗼𝘂𝘁 𝗼𝗳 𝗼𝘂𝗿 𝗹𝗮𝗻𝗱𝗳𝗶𝗹𝗹𝘀!
Here’s how you can make a difference:
1. Fix your device instead of buying a new one
2. Opt for second-hand items
3. Donate working devices to someone who needs them
4. Recycle your e-waste: go.gov.sg/e-waste
Join us at the International E-waste Day event to learn more!
🕰️12 Oct 2025 (Sun), 11.30am to 5pm
📍Bedok Town Square
Every small action counts towards a greener future. 💚
#RecycleOurEWaste#RecycleRight
We all wish for abundance during Lunar New Year, so let’s preserve our planet’s precious resources by recycling e-waste properly. 🐰💚♻️
Find out where you can recycle your e-waste here: go.gov.sg/e-waste
#RecycleOurEWaste#RecycleRight
E-waste recycling bins are available from today, at selected Dairy Farm Group & Harvey Norman outlets, ahead of NEA’s national e-waste management scheme on 1 Jul 2021. Drop off your e-waste and earn points that can be redeemed for shopping vouchers. Find out where the bins are at https://go.gov.sg/e-waste
#RecycleOurEWaste#SayYEStoWasteLess
#DidYouKnow e-waste can have many useful materials, including gold, silver, copper or plastic, that can be recovered and made into new products?
Test your knowledge and share your views on e-waste recycling at go.gov.sg/ewaste-survey
#RecycleOurEWaste#SayYEStoWasteLess
Here’s a #FunFact on International E-waste Day: #DidYouKnow e-waste contains many useful materials, including gold, silver, copper or plastic, that may be recovered and made into new products?
♻️ Let’s #RecycleOurEWaste properly. Visit NEA’s (go.gov.sg/e-waste) and ALBA Singapore’s websites (www.alba-ewaste.sg) for the locations of the e-waste recycling bins and more information about the e-waste management system. #RecycleRight
Let’s also reduce the amount of e-waste generated by:
(a) considering if you really need to buy a new product, or if the current one can be repaired
(b) choosing second-hand products over new products
(c) donating devices that are in good condition to those who could put them to better use
It’s time to bring on the Recycletimus Prime! Let's roll out and give our e-waste a second life by making sure to #RecycleRight: go.gov.sg/e-waste
#TransformersOne#RecycleOurEWaste#SayYEStoWasteLess
It’s sales galore, with #BlackFriday, #CyberMonday, and the 12.12 sales coming up in the next few weeks, but before tapping on the check out button, ask yourself: “Do I really need this?”
For instance, if your current electronic device isn’t working, try sending it for repair, to save it from the landfill. And if it is beyond repair, don’t forget to drop it in a recycle bin. More at https://go.gov.sg/nea-recycle-e-waste
#RecycleOurEWaste#SayYEStoWasteLess
Give your e-waste a second life by recycling them this International E-waste Day 📱💻♻️
Find out more about how to recycle your e-waste at go.gov.sg/e-waste
Let’s also reduce the amount of e-waste generated by:
- Considering if you really need to buy new a product or if the current one can be repaired
- Choosing second-hand products over new products
- Donating devices that are in good condition to those who could put them to better use
#RecycleRight#RecycleOurEWaste#IEWD2024#InternationalEWasteDay2024#DataSecurity