PaliSkill
← Python avancé

Leçon 6 / 9 — Chapitre 2: POO : héritage et polymorphisme

isinstance() : vérifier le type d'un objet

isinstance(objet, Classe) renvoie True si objet est une instance de Classe — ou d'une de ses sous-classes, un point à ne pas confondre avec une simple comparaison de type.

class Animal:
    pass

class Chien(Animal):
    pass

rex = Chien()

print(isinstance(rex, Chien))
print(isinstance(rex, Animal))
print(isinstance(rex, str))

Ce code affiche True, True, puis False. rex est bien une instance de Chien (le premier test), mais aussi d'Animal (le second test) car Chien hérite d'Animal — isinstance prend en compte toute la hiérarchie, pas seulement la classe exacte de création. str n'a évidemment aucun lien avec Chien, d'où False.

isinstance() est utile pour adapter un traitement selon le type réel d'un objet quand le polymorphisme seul ne suffit pas, par exemple avant d'appeler une méthode qui n'existe que sur certaines sous-classes :

if isinstance(rex, Chien):
    print("C'est bien un chien")

À vous de jouer : avec une classe parente et une sous-classe, testez isinstance() d'un objet de la sous-classe contre les deux classes, et vérifiez que les deux tests renvoient True.

🔒

Continuez ce module

Débloquez les leçons restantes ainsi que l'attestation finale.

9 000 XOF / 13,72 € / 14,95 $

Débloquez les 94 leçons restantes de ce module

Pour vous communiquer où envoyer le paiement.

Moyen de paiement souhaité

Nous vous contactons pour le paiement — activé dès réception.