Как работает функция 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
🇺🇿“Bir Vatan, bir el, bir bayroq!”
Davlatimiz bayrog‘i xalqimizning boy tarixi, jasorati va ezgu intilishlarini mujassam etgan muqaddas ramzdir. U har bir yurtdoshimizga Vatanimizga bo‘lgan mehr, g‘urur va sadoqat tuyg‘usini his ettiradi.
Yoshlar ishlari agentligi jamoasi nomidan barcha yurtdoshlarimizni 18-noyabr — O‘zbekiston Respublikasi Davlat bayrog‘i qabul qilingan kun bilan samimiy muborakbod etamiz!
Bayrog‘imiz yurtimiz osmonida baland hilpirab, xalqimizga tinchlik va farovonlik olib kelsin!
#Bayroq
🕊Telegram📱Instagram📺YouTube🔹Linkedin🌍Veb sayt
O‘zbekiston Respublikasi Davlat bayrog‘i qabul qilingan kun munosabati bilan litseyda bayram tadbirlari o‘tkazildi.
🏛 Toshkent davlat transport universiteti akademik litseyida Bayroq bayrami keng nishonlandi. Ushbu sana munosabati bilan bir qator ma’naviy-ma’rifiy tadbirlar tashkil etildi.
#Bayroq#Yoshlar#Akademik_litsey
📲Akademik litsey sahifalari:
Telegram | Instagram | Facebook
Bugun Toshkent davlat transport universiteti akademik litseyida O‘zbekiston Respublikasi Davlat bayrog‘i qabul qilingan kun munosabati bilan ma’naviy-ma’rifiy tadbir – davra suhbati o‘tkazildi.
Davra suhbatida bayrog‘imizning tarixiy ahamiyati, unda aks etgan rang va timsollarning mazmun-mohiyati, mustaqillik ramzi sifatidagi o‘rni haqida keng ma’lumotlar berildi. O‘quvchilar davlat ramzlariga hurmat, yurtga sadoqat, vatanparvarlik tushunchalari borasida fikr almashishdi.
#Bayroq#Yoshlar#Akademik_litsey
📲Akademik litsey sahifalari:
Telegram | Instagram | Facebook
Davlat bayrog‘i – mustaqilligimiz va milliy g‘ururimiz timsoli!
🇺🇿 Bugun, 18-noyabr, O‘zbekiston Respublikasi davlat bayrog‘i qabul qilingan kun! Davlatimiz ramzlaridan biri bo‘lgan bayrog‘imizning 33 yilligi bilan barchangizni “Yangi O‘zbekiston” universiteti jamoasi nomidan samimiy muborakbod etamiz.
Bayrog‘imiz ko‘klarda hilpirab, yurtimizning har bir burchagida yoshlarimizning yuksak maqsadlari va yutuqlarini ifoda etishda davom etsin!
🌟 Yurtimiz yoshlari bilim va g‘ayratlari bilan bayrog‘imizni xalqaro maydonlarda baland ko‘tarishda bardavom bo‘lishsin!
🇺🇿 Bayrog‘imiz har doim yurtimiz sha’nini dunyoga yoyuvchi nur bo‘lsin!
🔁English
➖➖➖➖➖➖➖➖➖➖➖➖➖
#bayroq#18noyabr
⬇️Biz ijtimoiy tarmoqlarda:
Veb-sayt | Telegram | Instagram | Facebook
O‘zbekiston Respublikasi davlat bayrog‘i qabul qilingan kun munosabati bilan bayram tadbiri o'tkazildi
✅ Tadbir davomida universitet talabalar kengashi prezidentining inauguratsiya marosimi ham bo'lib o'tdi. Unda talabalar kengashi prezidenti etib saylangan Nurislombek Mahkamjonxojizoda nutq so'zlab, unga bildirilgan ishonchni adolat bilan oqlashga va'da berdi.
📌 Shuningdek, universitetning eng faol va iqtidorli talabalaridan iborat klublar yetakchilari esdalik sovg'alari bilan taqdirlandi.
🔁English
➖➖➖➖➖➖➖➖➖➖➖➖➖
#bayroq#inauguratsiya#taqdirlash
⬇️ Biz ijtimoiy tarmoqlarda:
Veb-sayt | Telegram | Instagram | Facebook