TGViewer
Python Learning Python Learning @python_per_month · 28.2K subscribers
Post #3214 5.36K
❓ Вопрос на собеседовании

Что такое методическое разрешение (MRO) в Python, как его проверить и зачем оно нужно?

Ответ ⬇️
Методическое разрешение (MRO) определяет порядок, в котором Python ищет методы и атрибуты в иерархии классов при наследовании. MRO важен для работы с множественным наследованием, так как помогает избежать конфликтов и гарантирует корректное разрешение зависимостей.

MRO можно проверить с помощью атрибута __mro__ или функции mro(). Python использует алгоритм C3-линеаризации для вычисления MRO.


Пример использования ⚙️
class A:
def method(self):
print("Метод класса A")

class B(A):
def method(self):
print("Метод класса B")

class C(A):
def method(self):
print("Метод класса C")

class D(B, C):
pass

print(D.__mro__) # (<class '__main__.D'>, <class '__main__.B'>, <class '__main__.C'>, <class '__main__.A'>, <class 'object'>)

d = D()
d.method() # Метод класса B


Python Learning
👩‍💻
  • 👍 15
  • ❤‍🔥 1
More from @python_per_month
  1. Sep 14, 2026➡️ Memray — профилирование памяти для Python Memray — это современный инструмент для профи…
  2. Aug 17, 2026Срезы Срезы (slices) в Python — это способ получения подстроки (подсписка) из последовател…
  3. Aug 11, 2026Нейросеть, LLM (большие языковые модели) и ИИ-агент Эти слова в разговорах часто использую…
  4. Jul 23, 2026👩‍💻 Задача по Python Создайте функцию find_longest_substring для поиска самой длинной по…
  5. Jul 13, 2026🔥 Три разных человека. Три разных проекта. Один и тот же подход. — Юра взял «скучную» ниш…
  6. Jul 11, 2026⚙️ enumerate() Когда тебе нужно итерировать по списку с доступом к индексу элемента, испол…
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 →