Мой код выглядит следующим образом:
class Animal:
def __init__(self, Animal):
print(Animal, "is an animal.")
class Mammal(Animal):
def __init__(self, mammalName):
print(mammalName, "is a warm-blooded animal")
super().__init__(mammalName)
class NonWingedMammal(Mammal):
def __init(self, NonWingedMammal):
print(NonWingedMammal, "can't fly")
super().__init__(NonWingedMammal)
NonWingedMammal("Dog")
Когда я запускаю это, я ожидаю вывод
Dog can't fly
Dog is a warm-blooded animal
Dog is an animal.
Однако я получаю следующий вывод:
Dog is a warm-blooded animal
Dog is an animal.
<__main__.NonWingedMammal at 0x7fc340fee490>
Я бы подумал, что Dog can't fly
был бы частью моего вывода, потому что порядок поиска идет от производного класса до базовых классов - но, похоже, он пропустил производный класс? Очевидно, я что-то здесь упустил, но не могу понять, что!