要同时兼容python基础类型和numpy类型。
同时要求不能对float和np.float类型做出响应。
import numpy as np
def is_int(s):
return isinstance(s, int) or (np.isscalar(s) and np.issubsctype(np.asarray(s), np.integer))
print(is_int(1.2))
print(is_int(np.float32(1.2)))
print(is_int(np.float32([1.2, 1])))
print(is_int(1))
print(is_int(np.int32(1.2)))
print(is_int(np.int64(1.2)))
print(is_int(np.int32([1.2, 1])))
预计输出
False
False
False
True
True
True
False