Я новичок в Python... и, исходя из основного фона Java, если это что-то объясняет.
Я пытаюсь понять полиморфизм в Python. Может быть, проблема в том, что я ожидаю, что понятия, которые я уже знаю, для проекта в Python. Но я собрал следующий тестовый код:
class animal(object):
"empty animal class"
class dog(animal):
"empty dog class"
myDog = dog()
print myDog.__class__ is animal
print myDog.__class__ is dog
Из полиморфизма, к которому я привык (например, java instanceof
), я ожидал бы, что оба эти утверждения будут напечатаны как истинные, так как собака является животным, а также собакой. Но мой вывод:
False
True
Что мне не хватает?