1. Главная
  2. Библиотека
  3. Информационные технологии
  4. Bonpoc: Расположите фрагменты кода, определяющие иерарх...
Решение задачи

Bonpoc: Расположите фрагменты кода, определяющие иерархию классов, в том порядке, в котором Python будет искать метод в классе X (порядок разрешения методов (MRO) для класса X ): Tun ОТВЕТА:  Сортировка 1 classX(D) : 2 class D(B, C) : 3 class B(A) : 4

  • Информационные технологии

Условие:

Bonpoc: Расположите фрагменты кода, определяющие иерархию классов, в том порядке, в котором Python будет искать метод в классе X (порядок разрешения методов (MRO) для класса X ): Tun ОТВЕТА:  Сортировка 1 classX(D) :

2 class D(B, C) :

3 class B(A) :

4 class C(A):

5 class A:

Решение:

Разберём по шагам, как Python вычисляет порядок поиска методов (MRO) для класса X, заданного следующей иерархией: 1) Определены фрагменты кода:   • (1) class X(D):   • (2) class D(B, C):   • (3) class B(A):   • (4) class C(A):   • (5) class A: 2) Иерархия наследования такова:   X наследует от D;   D – от B и C;   B и C – от A. 3) Сначала вычисляем MRO для класса D (используется алгоритм C3-линеаризации):   a) Для класса B: MRO(B) = [B, A, object].   b) Для класса C: MRO(C) = [C, A, object].   c) Для класса D, имеющего базовые классы...

Не нашел нужную задачу?

Воспользуйся поиском

Выбери предмет