"Si un ouvrier veut bien faire son travail, il doit d'abord affûter ses outils." - Confucius, "Les Entretiens de Confucius. Lu Linggong"
Page de garde > La programmation > Comment choisir entre « type() » et « isinstance() » de Python pour la vérification du type d'objet ?

Comment choisir entre « type() » et « isinstance() » de Python pour la vérification du type d'objet ?

Publié le 2024-12-23
Parcourir:974

How to Choose Between Python's `type()` and `isinstance()` for Object Type Checking?

Comment déterminer le type d'un objet

Déterminer le type d'un objet est crucial pour garantir la cohérence des données et effectuer les opérations en conséquence. Python fournit deux fonctions intégrées à cet effet : type() et isinstance().

Utilisation de type()

La fonction type() renvoie le type exact d'un objet. Par exemple :

>>> type([]) is list
True
>>> type({}) is dict
True
>>> type('') is str
True
>>> type(0) is int
True

Utilisation d'isinstance()

La fonction isinstance() vérifie si un objet est une instance d'un type particulier, y compris les types hérités. Contrairement à type(), il prend en charge l'héritage de type.

>>> isinstance(b, Test1)
True
>>> isinstance(b, Test2)
True
>>> isinstance(a, Test1)
True
>>> isinstance(a, Test2)
False
>>> isinstance([], list)
True
>>> isinstance({}, dict)
True

Choisir entre type() et isinstance()

En général, isinstance() est préféré pour vérifier les types d'objets car il prend en compte les types dérivés. Type() est plus approprié si vous avez besoin de l'objet type exact pour des raisons spécifiques. Voici un exemple où vous pouvez utiliser isinstance() :

def print_object_type(obj):
  if isinstance(obj, int):
    print("Integer")
  elif isinstance(obj, float):
    print("Float")
  elif isinstance(obj, str):
    print("String")
  else:
    print("Unknown type")
Dernier tutoriel Plus>

Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.

Copyright© 2022 湘ICP备2022001581号-3