ภาพรวม
ใช้ numpy.issubclass_() ตรวจสอบว่า class แรกเป็น subclass ของ class ที่สอง คล้าย built-in issubclass() แต่คืน False แทนที่จะ raise TypeError ถ้า argument ไม่ใช่ class
พารามิเตอร์
arg1: class ต้นทาง (True ถ้าเป็น subclass ของ arg2)arg2: class เป้าหมาย หรือ tuple ของ classes
ขั้นตอนการทำงาน
1. นำเข้า NumPy
import numpy as np
2. ทดสอบ issubclass_() กรณีต่างๆ
print("Result...", np.issubclass_(np.float16, np.float32))
print("Result...", np.issubclass_(np.int32, np.signedinteger))
print("Result...", np.issubclass_('i4', np.signedinteger))
print("Result...", np.issubclass_(np.int64, int))
print("Result...", np.issubclass_(np.float64, float))
print("Result...", np.issubclass_('S8', str))
print("Result...", np.issubclass_(np.int16, float))
print("Result...", np.issubclass_(np.array([45, 89]), int))
print("Result...", np.issubclass_(np.int32, np.integer))
ตัวอย่างโค้ดเต็ม
import numpy as np
print("Using the issubclass_() method in Numpy\n")
print("Result...", np.issubclass_(np.float16, np.float32))
print("Result...", np.issubclass_(np.int32, np.signedinteger))
print("Result...", np.issubclass_('i4', np.signedinteger))
print("Result...", np.issubclass_(np.int64, int))
print("Result...", np.issubclass_(np.float64, float))
print("Result...", np.issubclass_('S8', str))
print("Result...", np.issubclass_(np.int16, float))
print("Result...", np.issubclass_(np.array([45, 89]), int))
print("Result...", np.issubclass_(np.int32, np.integer))
ผลลัพธ์
Using the issubclass_() method in Numpy Result... False Result... True Result... False Result... False Result... True Result... False Result... False Result... False Result... True
คำอธิบาย:
float16ไม่ใช่ subclass ของfloat32int32เป็น subclass ของsignedinteger'i4'(dtype string) ไม่ใช่ class จึงเป็น Falseint64ไม่ใช่ subclass ของ built-inintfloat64เป็น subclass ของ built-infloat'S8'ไม่ใช่ subclass ของstrint16ไม่ใช่ subclass ของfloatnp.array(...)ไม่ใช่ class → Falseint32เป็น subclass ของinteger