TGViewer
Engineering Notes Engineering Notes @boboshersnotes · 2.61K subscribers
Post #390 1.85K
Engineering Notes What is the output of the following code?
Mana bu kod error chiqaradi.
Bunga sabab esa Python Method Resolution Order(MRO)ni aniqlash uchun ishlatadigan algorithm – C3 Linearization.

C3 Linearization algorithmining vazifasi biror classning hamma ancestor(ajdod)larini ma'lum qonuniyat asosida chiziqli tartiblash (bu orqali method overriding/overloading hal qilinadi).
Bu algorithm biroz murakkab bo'lsa-da, u monolith xususiyatini saqlab qola oladi. Bundan oldin ishlatilgan "Depth-first, left to right" (Python 2.2 gacha ishlatilgan) algorithmi tuzilishi jihatdan juda sodda bo'lsa-da, u monotonic emas edi (ya'ni multiple inheritance vaqtida order almashib ketishi mumkin edi).

Yuqoridagi misolda algorithm E classning ancestorlarini linearize qilishda dead lockga o'xshash muammoga duch keladi va TypeError chiqaradi.

C3 ning qanday ishlashi haqida esa hali yana gaplashamiz.

Manbaa:
https://www.python.org/download/releases/2.3/mro/

@boboshersnotes
  • 👍 15
More from @boboshersnotes
  1. Oct 7, 2026– How much customization do you need? – Yes
  2. Oct 5, 2026I pinch the airpods once, Youtube video on my laptop is paused. I pinch it again, the vide…
  3. Oct 5, 2026The smartest kids in Kazakhstan should not be doing AI or maxxing out Claude. AI products…
  4. Sep 28, 2026https://www.youtube.com/watch?v=9HIy5dJE-zQ
  5. Sep 22, 2026spa-net.com qiziq challange ekan, kun bo'yi "enter" bosishdan zerikkanda bosh qotirib ko'r…
  6. Sep 21, 2026Bizda odatda juma kunlarining ikkinchi yarmi ishga to'g'ridan-to'g'ri aloqador bo'lmagan n…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →