Tutorial Study Image

Python issubclass()

如果函数的第一个参数是第二个参数的子类,issubclass() 函数将返回 True。实际上,我们可以说此函数用于检查给定类是否是其他类的子类。


issubclass(class, classinfo)  #where class specify the class name
 

bytes() 参数

接受 2 个参数。我们还可以将类元组作为 classinfo 参数传递,在这种情况下,如果该类是元组中任何类的子类,则函数将返回 True。

参数 描述 必需/可选
class 要检查的类 必需
classinfo 类、类型或类和类型的元组 必需

bytes() 返回值
 

它返回一个布尔值,True 或 False。

输入 返回值
一个类是子类 true
一个类不是子类 false
在任何其他情况下 TypeError 异常

Python 中 issubclass() 方法的示例

示例 1:issubclass() 如何工作?



class Polygon:
  def __init__(polygonType):
    print('Polygon is a ', polygonType)

class Triangle(Polygon):
  def __init__(self):

    Polygon.__init__('triangle')
    
print(issubclass(Triangle, Polygon))
print(issubclass(Triangle, list))
print(issubclass(Triangle, (list, Polygon)))
print(issubclass(Polygon, (list, Polygon)))

输出

True
False
True
True

示例 2:检查内置类的子类


print('bool is the subclass of int: ', issubclass(bool, int))
print('float is the subclass of int: ', issubclass(float, int))
print('str is the subclass of list: ', issubclass(str, list))

import collections
print('collections.OrderedDict is the subclass of dict: ', issubclass(collections.OrderedDict, dict))
 

输出

bool is the subclass of int: True
float is the subclass of int: False
str is vsubclass of list: False
collections.OrderedDict is the subclass of dict: True 

示例 3:issubclass() 方法使用元组指定多个 classinfo 名称


print(issubclass(bool, (int, str, list)))
print(issubclass(float, (int, str, list))
 

输出

True
False