Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Python

Xác định xem một lớp có phải là lớp con của lớp khác trong Python


Để xác định xem một lớp có phải là lớp con của lớp thứ hai hay không, sử dụng numpy.issubclass_() trong NumPy Python. Tham số 1: lớp đầu vào. Trả về True nếu arg1 là lớp con của arg2. Tham số 2: lớp đầu vào. Nếu là tuple các lớp, trả về True nếu arg1 là lớp con của bất kỳ phần tử nào. issubclass_ tương đương với issubclass built-in của Python, ngoại trừ việc trả về False thay vì ném TypeError nếu đối số không phải là lớp.

Các bước thực hiện

Nhập NumPy:

import numpy as np

Kiểm tra issubclass_() với các cặp lớp:

print("Kết quả...", np.issubclass_(np.float16, np.float32))      # False
print("Kết quả...", np.issubclass_(np.int32, np.signedinteger))  # True
print("Kết quả...", np.issubclass_('i4', np.signedinteger))      # False
print("Kết quả...", np.issubclass_(np.int64, int))               # False
print("Kết quả...", np.issubclass_(np.float64, float))           # True
print("Kết quả...", np.issubclass_('S8', str))                   # False
print("Kết quả...", np.issubclass_(np.int16, float))             # False
print("Kết quả...", np.issubclass_(np.array([45, 89]), int))     # False
print("Kết quả...", np.issubclass_(np.int32, np.integer))        # True

Ví dụ hoàn chỉnh

import numpy as np

print("Sử dụng issubclass_() trong NumPy\n")

print("Kết quả...", np.issubclass_(np.float16, np.float32))
print("Kết quả...", np.issubclass_(np.int32, np.signedinteger))
print("Kết quả...", np.issubclass_('i4', np.signedinteger))
print("Kết quả...", np.issubclass_(np.int64, int))
print("Kết quả...", np.issubclass_(np.float64, float))
print("Kết quả...", np.issubclass_('S8', str))
print("Kết quả...", np.issubclass_(np.int16, float))
print("Kết quả...", np.issubclass_(np.array([45, 89]), int))
print("Kết quả...", np.issubclass_(np.int32, np.integer))

Kết quả đầu ra

Sử dụng issubclass_() trong NumPy
Kết quả... False
Kết quả... True
Kết quả... False
Kết quả... False
Kết quả... True
Kết quả... False
Kết quả... False
Kết quả... False
Kết quả... True