Многие из тех кто активно работал с Python2 несколько удивлены, почему в Python3 удобная функция reload() переехала из builtin в imp а потом и в importlib?
Ну было же удобно! А теперь лишний импорт😖
Дело в том, что начиная с Python3.3 функция reload() переписана на Python вместо Cи.
Что это нам даёт?
🔸 Такой код проще поддерживать и развивать
🔸 Python код легче читать, изучать и понимать.
Сравните это ➡️ и это ➡️.
🔸 Как результат пункта 2, проще писать свои расширения импорта. Например, пользовательский импортёр с какой-либо хитрой логикой по аналогии с импортом из zip архивов.
А есть ли у этого решения недостатки? Да, они всегда есть.
🔹 Так как это не builtin функция, её следует импортнуть перед использованием
🔹 Скорость замедлилась примерно на 5%. Очевидно, что это совершенно не критично. К тому же от версии к версии логика импорта будет оптимизироваться и ускоряться.
В самом начале файла importlib/__init__.py мы видим такой импорт:
import _imp # Just the builtin component, NOT the full Python module
То есть часть функционала по прежнему написана на Си, но достаточно низкоуровневая.
#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