Есть базовый класс и два производных класса. Первый производный класс не имеет собственной реализации foo (наследует из базового), второй - имеет. При множественном наследовании в случае old-style классов используется foo базового класса (из c1) В случае new-style - из c2. Почему так? # 1 class b: def foo(self): print('b') class c1(b): pass class c2(b): def foo(self): print('c2') class c(c1, c2): pass cc=c() cc.foo() # выводит b # 2 class b(object): def foo(self): print('b') class c1(b): pass class c2(b): def foo(self): print('c2') class c(c1, c2): pass cc=c() cc.foo() # выводит c2


Ответ на:
комментарий
от anonymous

Ответ на:
комментарий
от mnt

Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.
Похожие темы
- Форум [Python] Множественное наследование (2010)
- Форум Непонимание наследования (2012)
- Форум Python3: private methods (2023)
- Форум Про полиморфизм (2013)
- Форум Вызов метода классового поля в Python (2014)
- Форум Как в python вернуть рефку? (2018)
- Форум Просветите по наследованию object в python 3 (2017)
- Форум AttributeError: 'Object' object has no attribute 'myAtr' (2014)
- Форум Как реализовать method unbinding? (2012)
- Форум [python] разные возвращаемые значения для одноименного аттрибута класса или объекта класса (2010)