如果函数的第一个参数是第二个参数的子类,issubclass() 函数将返回 True。实际上,我们可以说此函数用于检查给定类是否是其他类的子类。
issubclass(class, classinfo) #where class specify the class name
bytes() 参数
接受 2 个参数。我们还可以将类元组作为 classinfo 参数传递,在这种情况下,如果该类是元组中任何类的子类,则函数将返回 True。
| 参数 | 描述 | 必需/可选 |
|---|---|---|
| class | 要检查的类 | 必需 |
| classinfo | 类、类型或类和类型的元组 | 必需 |
它返回一个布尔值,True 或 False。
| 输入 | 返回值 |
|---|---|
| 一个类是子类 | true |
| 一个类不是子类 | false |
| 在任何其他情况下 | TypeError 异常 |
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
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
print(issubclass(bool, (int, str, list)))
print(issubclass(float, (int, str, list))
输出
True False