Как работает функция 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
#PROBLEM
Dunyoda adolatsizlik bor – ba’zilar ko‘p narsaga ega, boshqalar esa hech narsasiz...
#SOLUTION
Odamlar bir-biriga yordam berishi kerak – agar hamma faqat o‘zini o‘ylasa, hayot yomonlashadi. Faqat birlikda adolat bo‘lishi mumkin.
Xulosa:
Ba’zilarning ko‘p narsaga ega bo‘lishi faqat boylik bilan emas, balki salohiyat, imkoniyat, nasab, sog‘liq, yashash joyi kabi ustun jihatlar bilan farqlanadi. Hech narsasiz deganda esa, sog‘liq muammolari, nizolar, ochlik, qashshoqlik, ilmsizlik va boshqa imkonsiz holatlar tushuniladi.
Yechim:
Odamlar bir-biriga yordam berishi kerak, ya’ni bilgan bilmaganga o‘rgatishi, to‘q ochni to‘ydirishi, imkonli inson imkonisizga ko‘mak berishi lozim. Ya’ni, biz qanday vaziyatda bo‘lmaylik, bizdan pastdagilarga yordam berishimiz, o‘z ustimizda ishlashdan to‘xtamasligimiz va shukr qilishimiz kerak.
@Azamatjon_design#eslatmalar#problem_solution
𝐍𝐞𝐠𝐚 𝐤𝐨'𝐩 𝐡𝐨𝐥𝐥𝐚𝐫𝐝𝐚 𝐲𝐞𝐜𝐡𝐢𝐦𝐥𝐚𝐫 𝐯𝐚𝐪𝐭𝐢𝐧𝐜𝐡𝐚𝐥𝐢𝐤 𝐲𝐨𝐤𝐢 𝐱𝐮𝐬𝐮𝐬𝐢𝐲 𝐲𝐨𝐤𝐢 𝐲𝐮𝐳𝐚𝐤𝐢 𝐛𝐨'𝐥𝐚𝐝𝐢?
Chunki odatda muammo paydo bo‘lishi bilan darhol yechim izlashga kirishiladi. Natijada esa muammo to‘liq tushunilmasdan, vaqtinchalik yoki yuzaki qarorlar qabul qilinadi.
Tajribali mutahasislar esa, eng avvalo muammoning asl mohiyatini tushunishga harakat qiladi. Muammo nimadan iborat, qayerda paydo bo‘lgan, nimasi aniq, nimasi noaniq — shu savollarga javob topmasdan keyingi bosqichga o‘tmaydi. Chunki aniq ifodalanmagan muammo hech qachon to‘g‘ri yechimga ega bo‘lmaydi.
Batafsil o'rganilgandan keyin — mavjud tajribani o‘rganish. Oldin bu masalaga kimlar duch kelgan, qanday yondashuvlar bo‘lgan, qaysi usullar ishlagan yoki ishlamagan. Bu bosqich vaqtni tejaydi va takroriy xatolardan saqlaydi. Siz birinchi bo‘lib bu muammoga duch kelayotgan bo‘lishingiz kamdan-kam holat.
Shundan keyingina haqiqiy tahlil boshlanadi. Mavjud yechimlar qayerda to‘xtab qolgan, qaysi joylar e’tibordan chetda qolgan, qaysi taxminlar tekshirilmagan — aynan shu bo‘shliqlarni topish eng muhim qadamdir. Yechim ko‘pincha hamma ko‘rgan joyda emas, aynan shu bo‘shliqlarda yashiringan bo‘ladi.
Topilgan fikrlar keyin modelga aylantiriladi. Bu diagramma, jarayon xaritasi, arxitektura yoki oddiy mantiqiy ketma-ketlik bo‘lishi mumkin. Model fikrni tartibga soladi, noaniqliklarni ochib beradi va keyingi qarorlar uchun asos yaratadi.
Model tayyor bo‘lgach, u real sharoitda sinovdan o‘tkaziladi. Bu bosqichda xatolar chiqadi, zaif joylar ko‘rinadi va aynan shu orqali yechim takomillashadi. Mukammal model degan narsa yo‘q, lekin ishlaydigan va o‘zini oqlagan model bo‘ladi.
Faqat barcha shu bosqichlardan o‘tgandan keyingina yakuniy yechim paydo bo‘ladi. Bu shunchaki g‘oya emas, balki tekshirilgan, asoslangan va mas’uliyat bilan qabul qilingan qarordir.
Agar bir muammo sizni qayta-qayta qiynayotgan bo‘lsa, ehtimol muammo masalaning murakkabligida emas, balki siz o‘tkazib yuborgan qaysidur bosqichda bo'lishi mumkin.
Kuchli mutaxassislar shoshilmaydi.
Siz muammoga yechim ishlab chiqishda qanday yondashuv qilasiz?
#problem#problem_solving#skill#phd#ios#developer
Mukhriddinbek Samidov
🔗YouTube | Instagram | LinkedIn | Telegram | Medium