Phương thức numpy.can_cast() trả về True nếu scalar và kiểu dữ liệu có thể ép kiểu theo quy tắc casting. Tham số thứ nhất là scalar hoặc kiểu dữ liệu hoặc mảng để ép từ. Tham số thứ hai là kiểu dữ liệu để ép đến.
Các bước thực hiện
Trước tiên, nhập thư viện cần thiết:
import numpy as np
Kiểm tra xem scalar và kiểu dữ liệu có thể ép theo quy tắc casting:
print("Kiểm tra với phương thức can_cast() trong NumPy\n")
print("Kết quả...", np.can_cast(20, 'i1'))
print("Kết quả...", np.can_cast(280, 'i1'))
print("Kết quả...", np.can_cast(80, 'u1'))
print("Kết quả...", np.can_cast(300.7, np.float32))
print("Kết quả...", np.can_cast(120.6, np.float64))
print("Kết quả...", np.can_cast(7.2e100, np.float32))
print("Kết quả...", np.can_cast(6.5e100, np.float64))
Ví dụ hoàn chỉnh
import numpy as np
# numpy.can_cast() trả về True nếu scalar và kiểu dữ liệu có thể ép theo quy tắc casting.
# Tham số 1: scalar hoặc kiểu dữ liệu hoặc mảng để ép từ.
# Tham số 2: kiểu dữ liệu để ép đến.
print("Kiểm tra với phương thức can_cast() trong NumPy\n")
print("Kết quả...", np.can_cast(20, 'i1'))
print("Kết quả...", np.can_cast(280, 'i1'))
print("Kết quả...", np.can_cast(80, 'u1'))
print("Kết quả...", np.can_cast(300.7, np.float32))
print("Kết quả...", np.can_cast(120.6, np.float64))
print("Kết quả...", np.can_cast(7.2e100, np.float32))
print("Kết quả...", np.can_cast(6.5e100, np.float64))
Kết quả đầu ra
Kiểm tra với phương thức can_cast() trong NumPy
Kết quả... True
Kết quả... False
Kết quả... True
Kết quả... True
Kết quả... True
Kết quả... False
Kết quả... True
Giải thích:
20 → int8 (i1): True (20 trong khoảng -128 đến 127)280 → int8 (i1): False (280 > 127, tràn số)80 → uint8 (u1): True (80 trong khoảng 0-255)300.7 → float32: True (float64 → float32 an toàn cho giá trị này)120.6 → float64: True (cùng kiểu)7.2e100 → float32: False (quá lớn, float32 max ~3.4e38)6.5e100 → float64: True (float64 max ~1.8e308)