在 Python 中判断一个类是否是第二个类的子类

pythonnumpyserver side programmingprogramming

要判断一个类是否是第二个类的子类,请使用 Python numpy 中的 numpy.issubclass_() 方法。第一个参数是输入类。如果 arg1 是 arg2 的子类,则返回 True。第二个参数是输入类。如果是类的元组,如果 arg1 是任何元组元素的子类,则返回 True。issubclass_ 相当于 Python 内置的 issubclass,不同之处在于,如果其中一个参数不是类,它会返回 False,而不是引发 TypeError。

步骤

首先,导入所需的库 −

import numpy as np

使用 Numpy 中的 issubclass_() 方法。检查一个类是否是另一个类的子类 −

print("结果...",np.issubclass_(np.float16, np.float32))
print("结果...",np.issubclass_(np.int32, np.signedinteger))
print("结果...",np.issubclass_('i4', np.signedinteger))
print("结果...",np.issubclass_(np.int64, int))
print("结果...",np.issubclass_(np.float64, float))
print("结果...",np.issubclass_('S8', str))
print("结果...",np.issubclass_(np.int16, float))
print("结果...",np.issubclass_(np.array([45, 89]), int))
print("结果...",np.issubclass_(np.int32, np.integer))

示例

import numpy as np

# 要确定一个类是否是第二个类的子类,请使用 Python numpy 中的 numpy.issubclass_() 方法
# 第一个参数是输入类。如果 arg1 是 arg2 的子类,则返回 True。
# 第二个参数是输入类。如果是类的元组,则如果 arg1 是任何元组元素的子类,则返回 True。
# issubclass_ 相当于 Python 内置的 issubclass,
# 不同之处在于,如果其中一个参数不是类,它会返回 False,而不是引发 TypeError。

print("使用 Numpy 中的 issubclass_() 方法\n")

# 检查一个类是否是第二个类的子类
print("结果...",np.issubclass_(np.float16, np.float32))
print("结果...",np.issubclass_(np.int32, np.signedinteger))
print("结果...",np.issubclass_('i4', np.signedinteger))
print("结果...",np.issubclass_(np.int64, int))
print("结果...",np.issubclass_(np.float64, float))
print("结果...",np.issubclass_('S8', str))
print("结果...",np.issubclass_(np.int16, float))
print("结果...",np.issubclass_(np.array([45, 89]), int))
print("结果...",np.issubclass_(np.int32, np.integer))

输出

在 Numpy 中使用 issubclass_() 方法

结果...False
结果...True
结果...False
结果...False
结果...True
结果...False
结果...False
结果...False
结果...True

相关文章