tnk*_*epp 2 python types numpy isinstance python-3.x
使用整数时,有多种可用类型(例如 int、numpy.int8、numpy.int16 等)。如果我编写一个通用函数,要求一个变量为整数,我如何针对 Python/numpy 中所有可能的“整数”类型测试该类型?关于浮动也可以提出同样的问题。我最初是这么想的
isinstance(np.int64(5), int)
Run Code Online (Sandbox Code Playgroud)
会/应该起作用,但事实并非如此。
有没有办法可以测试所有可用整数类型的整数变量?
您可以分别使用numbers.Integral和:numbers.Real
from numbers import Integral, Real
isinstance(x, Integral)
isinstance(x, Real)
Run Code Online (Sandbox Code Playgroud)
在Python中只有一种int类型。如果要测试 中的所有整数类型numpy以及内置int类型,可以使用:
isinstance(x, (int, np.integer))
Run Code Online (Sandbox Code Playgroud)
其中np.integer是所有标量 numpy 整数类型的抽象基类。同样对于浮动,
isinstance(x, (float, np.floating))
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1248 次 |
| 最近记录: |