Maison >développement back-end >Tutoriel Python >Introduction détaillée à la fonction isinstance intégrée de Python

Introduction détaillée à la fonction isinstance intégrée de Python

高洛峰
高洛峰original
2017-03-21 09:32:202067parcourir

Documentation en anglais :

isinstance(object, classinfo)

Return true if l'argument objet est une instance de l'argument classinfo, ou d'une sous-classe (directe, indirecte ou virtuelle) de celui-ci. Si l'objet n'est pas un objet du type donné, la fonction renvoie toujours false Si classinfo est un tuple de type. les objets (ou de manière récursive, d'autres tuples similaires), renvoient true si l'objet est une instance de l'un des types. Si classinfo n'est pas un type ou un tuple de types et de tels tuples, une TypeError exception est levée.

Description :

 1. La fonction est utilisée pour déterminer si un objet est une instance d'un objet de type. Le paramètre objet représente l'objet qui doit être vérifié. , et le paramètre calssinfo représente l'objet type.

 2. Si le paramètre object est une instance d'un objet de type classinfo (ou une sous-classe directe, indirecte ou virtuelle d'un objet de classe classinfo), renvoie True.

>>> isinstance(1,int)
True
>>> isinstance(1,str)
False

# 定义3各类:C继承B,B继承A
>>> class A:
    pass

>>> class B(A):
    pass

>>> class C(B):
    pass

>>> a = A()
>>> b = B()
>>> c = C()
>>> isinstance(a,A) #直接实例
True
>>> isinstance(a,B)
False
>>> isinstance(b,A) #子类实例 
True
>>> isinstance(c,A) #孙子类实例
True

 3. Si le paramètre objet est passé dans un objet de type, False sera toujours renvoyé.

>>> isinstance(str,str)
False 
>>> isinstance(bool,int)
False

 4. Si l'objet de type classinfo est un tuple composé de plusieurs objets de type, et si l'objet objet est une instance de n'importe quel objet de type dans le tuple, True est renvoyé . Sinon, renvoie False.

>>> isinstance(a,(B,C))
False
>>> isinstance(a,(A,B,C))
True

 5. Si l'objet de type classinfo n'est pas un objet de type ou un tuple composé de plusieurs objets de type, une erreur (TypeError) sera signalée.

>>> isinstance(a,[A,B,C])
Traceback (most recent call last):
  File "<pyshell#23>", line 1, in <module>
    isinstance(a,[A,B,C])
TypeError: isinstance() arg 2 must be a type or tuple of types

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