本系列将会陆续整理分享一些的Python内置函数。
-
通过百度网盘获取:
链接:https://pan.baidu.com/s/11x9_wCZ3yiYOe5nVcRk2CQ?pwd=mnsj
提取码:mnsj
-
前往GitHub获取:
https://github.com/returu/Python_built-in_functions
issubclass(class, classinfo)
-
class:需要检查的类; -
classinfo:是单个类或者包含多个类的元组,用于与class进行比较。
返回值:
下面是一些使用 issubclass() 函数的示例:
-
示例 1:基本使用
classinfo可以是一个类对象,此时直接判断class是否是该类的子类。
class Animal:
pass
class Dog(Animal):
pass
class Cat(Animal):
pass
# 检查 Dog 是否是 Animal 的子类
print(issubclass(Dog, Animal))
# 输出: True
# 检查 Animal 是否是自身的子类
print(issubclass(Animal, Animal))
# 输出: True
# 检查 Cat 是否是 Dog 的子类
print(issubclass(Cat, Dog))
# 输出: False
# 检查 Dog 是否是 (Animal, Cat) 中的任一类的子类
print(issubclass(Dog, (Animal, Cat)))
# 输出: True
-
示例 2:使用联合类型作为
classinfo
参数
从Python 3.10开始,classinfo还可以是一个联合类型(Union Type),这是类型提示的一部分,用于表示一个变量可以是多个类型中的任何一个。在这种情况下,如果class是classinfo中任何条目的子类,则返回 True。
from typing import Union
class Animal:
pass
class Dog(Animal):
pass
class Cat(Animal):
pass
# 使用联合类型
print(issubclass(Dog, Union[Cat, Animal]))
输出: # True
print(issubclass(Dog, Union[Cat, int]))
输出: # False


本篇文章来源于微信公众号: 码农设计师