Maison >développement back-end >Tutoriel Python >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 ?

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2024-12-03 02:25:12435parcourir

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

Comment déterminer le type d'un objet

La détermination du type d'un objet est cruciale 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 objets. types 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")

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn