Comment le polymorphisme de travail en Python?

Je suis nouveau sur Python... et venant principalement de Java arrière-plan, si ce qui compte pour rien.

J'essaie de comprendre le polymorphisme en Python. Peut-être le problème, c'est que je m'attends à des concepts que je connais déjà pour projet en Python. Mais j'ai mis en place le test code suivant:

class animal(object):
    "empty animal class"

class dog(animal):
    "empty dog class"

myDog = dog()
print myDog.__class__ is animal
print myDog.__class__ is dog

Du polymorphisme je suis utilisé (par exemple, java instanceof), je m'attends à ces deux états à imprimer vrai, comme une instance de chien est un animal et aussi est un chien. Mais mon résultat est:

False
True

Ce qui me manque?

  • Notez qu'en plus de la vérification de type de l'objet est à l'opposé de polymorphisme. Le polymorphisme est d'exploitation sur un objet quel que soit son type.
  • Essayez readading learnbatta.com/blog/polymorphism-in-python-62
InformationsquelleAutor froadie | 2010-05-14