issubclass()
是 Python 内置的一个函数,用于判断一个类是否为另一个类的子类。
函数语法
issubclass(class, classinfo)
参数:
class
:要判断的类,即要检查是否为子类的类。classinfo
:可以是一个类、一个类型元组或者一个类的元组。如果class
是classinfo
的子类之一,则返回True
;否则返回False
。
示例代码
下面我将通过一些示例代码来详细解释这个函数的用法:
示例 1:基本用法
class Parent:
pass
class Child(Parent):
pass
result = issubclass(Child, Parent)
print(result) # 输出: True
在这个示例中,Child
是 Parent
的子类,所以 issubclass(Child, Parent)
返回 True
。
示例 2:使用元组判断多个类
class A:
pass
class B:
pass
class C(A):
pass
result1 = issubclass(C, A)
result2 = issubclass(C, (A, B))
print(result1) # 输出: True
print(result2) # 输出: False
在这个示例中,C
是 A
的子类,同时也可以看到 C
并不是 B
的子类。
示例 3:判断一个类是否为自身的子类
class MyClass:
pass
result = issubclass(MyClass, MyClass)
print(result) # 输出: True
在这个示例中,每个类都被认为是其自身的子类。
示例 4:判断类是否是内置类型的子类
result = issubclass(int, object)
print(result) # 输出: True
在这个示例中,int
是 object
的子类,因为所有类都是 object
的子类。
总结
issubclass()
函数是用于检查一个类是否为另一个类的子类。它接受两个参数,第一个参数是要检查的类,第二个参数可以是一个类、一个类型元组或者一个类的元组,用于指定可能的父类。函数返回一个布尔值,如果第一个参数是第二个参数中的任何一个类的子类,则返回 True
,否则返回 False
。