Maison  >  Article  >  développement back-end  >  Python内置issubclass函数的详细介绍

Python内置issubclass函数的详细介绍

高洛峰
高洛峰original
2017-03-21 09:28:171872parcourir

 英文文档:

issubclass(class, classinfo)

Return true if class is a subclass (direct, indirect or virtual) of classinfo. A class is considered a subclass of itself. classinfo may be a tuple of class objects, in which case every entry in classinfo will be checked. In any other case, a TypeError exception is raised.

说明:

  1. 函数功能用于判断一个类型对象是否是另一个类型对象的子类,class参数表示需要检查的类型对象,calssinfo参数表示需要对比类型对象。

  2. 如果class参数是classinfo类型对象(或者classinfo类对象的直接、间接、虚拟子类)的实例,返回True。

>>> issubclass(bool,int)
True
>>> issubclass(bool,(str))
False

>>> class A:
    pass
>>> class B(A):
    pass
>>> issubclass(B,A)
True

  3. 任何一个类都是自己类的子类,即class和calssinfo传入相同类型时,返回True。

>>> class A:
    pass
>>> issubclass(A,A)
True

  4. 如果classinfo类型对象,是多个类型对象组成的元组,如果class类型对象是元组的任一类型对象的子类,则返回True,否则返回False。

>>> issubclass(bool,int)
True>>> issubclass(bool,str)
False>>> issubclass(bool,(str,int))
True

  5. 如果classinfo类型对象,不是一个类型对象或者由多个类型对象组成的元组,则会报错(TypeError)。

>>> issubclass(bool,[str,int])
Traceback (most recent call last):
  File "ffae55b2fb00f5ed70ba1d9647e9051b", line 1, in 4225fa317875f3e92281a7b1a5733569
    issubclass(bool,[str,int])
TypeError: issubclass() arg 2 must be a class or tuple of classes

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