Python issubclass()

如果函数的第一个参数是第二个参数的子类,则isinstance()函数返回 true。实际上,我们可以说这个函数是用来检查给定的类是否是另一个类的子类。

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

字节()参数:

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

参数 描述 必需/可选
班级 要检查的类别 需要
分类(classify) 类、类型或类和类型的元组 需要

字节()返回值

它返回真或假的布尔值。

| 投入 | 返回值 | | 类是子类 | 真实的 | | 类不是子类 | 错误的 | | 在任何其他情况下 | TypeError exception |

Python 中issubclass()方法的示例

示例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 

你可能感兴趣的