如果函数的第一个参数是第二个参数的子类,则isinstance()
函数返回 true。实际上,我们可以说这个函数是用来检查给定的类是否是另一个类的子类。
**issubclass(class, classinfo) ** #where class specify the class name
字节()参数:
取 2 个参数。我们还可以传递一个类元组作为 classinfo 参数,在这种情况下,如果类是元组中任何类的子类,函数将返回 True。
参数 | 描述 | 必需/可选 |
---|---|---|
班级 | 要检查的类别 | 需要 |
分类(classify) | 类、类型或类和类型的元组 | 需要 |
它返回真或假的布尔值。
| 投入 | 返回值 | | 类是子类 | 真实的 | | 类不是子类 | 错误的 | | 在任何其他情况下 | TypeError exception |
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
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
issubclass()
方法使用一个元组来指定多个 classinfo 名称 print(issubclass(bool, (int, str, list)))
print(issubclass(float, (int, str, list))
输出:
True
False