isinstance()

Vérifie si un objet est d’un type donné, ou d’un sous-type de celui-ci.

Renvoie
True ou False.
Sur cette page

Exemple

#
Python
def describe(value):
    if isinstance(value, bool):
        return "valeur booléenne"
    if isinstance(value, (int, float)):
        return "nombre"
    if isinstance(value, str):
        return "texte"
    return "autre chose"

for item in [7, 2.5, "HTML", True, None]:
    print(describe(item))
Résultatrésultat enregistré, vous pouvez le vérifier
nombre
nombre
texte
valeur booléenne
autre chose

Définition et utilisation

#

La fonction isinstance(object, classinfo) renvoie True si l’objet est une instance du type donné, ou d’une classe qui en hérite. C’est la façon recommandée de vérifier un type dans une condition.

Comme second argument, vous pouvez donner un tuple de types : isinstance(x, (int, float)) vérifie si la valeur est l’un de ces types numériques. Depuis Python 3.10, l’écriture avec une union fonctionne aussi : int | float.

Rappelez-vous que bool hérite de int, donc isinstance(True, int) renvoie True. Si vous voulez exclure les valeurs booléennes, vérifiez-les séparément.

Syntaxe

#
Syntaxe
isinstance(object, classinfo)

Paramètres

#
  • object

    n’importe quelle valeur

    L’objet vérifié.
  • classinfo

    un type, un tuple de types ou une union

    Le type, ou plusieurs types, à vérifier.

Bonnes pratiques

#
  • Vérifiez les valeurs booléennes avant les nombres, car True passe aussi le test isinstance(x, int).
  • Plutôt que de vérifier le type, il est souvent préférable d’essayer l’opération et de gérer l’exception.

Entrées associées

#

Vous voyez une erreur ou il manque un exemple ? Écrivez-nous.