numpy.isscalar#

numpy.isscalar(element)[源代码]#

如果 element 的类型是标量类型,则返回 True。

参数:
element任意类型

输入参数,可以是任何类型和形状。

返回:
val布尔值

如果 element 是标量类型,则返回 True;否则返回 False。

另请参阅

ndim

获取数组的维度数量

注意事项

如果您需要更严格的方式来识别数值标量,请使用 isinstance(x, numbers.Number),因为对于大多数非数值元素(例如字符串),它将返回 False

在大多数情况下,应使用 np.ndim(x) == 0 代替此函数,因为它对于 0 维数组也会返回 True。这是 NumPy 重载函数的方式,例如 gradientdx 参数和 histogrambins 参数。一些主要区别:

x

isscalar(x)

np.ndim(x) == 0

PEP 3141 数值对象(包括内置类型)

True

True

内置字符串和缓冲区对象

True

True

其他内置对象,如 pathlib.PathExceptionre.compile 的结果

False

True

第三方对象,如 matplotlib.figure.Figure

False

True

零维 NumPy 数组

False

True

其他 NumPy 数组

False

False

listtuple 及其他序列对象

False

False

示例

>>> import numpy as np
>>> np.isscalar(3.1)
True
>>> np.isscalar(np.array(3.1))
False
>>> np.isscalar([3.1])
False
>>> np.isscalar(False)
True
>>> np.isscalar('numpy')
True

NumPy 支持 PEP 3141 数字

>>> from fractions import Fraction
>>> np.isscalar(Fraction(5, 17))
True
>>> from numbers import Number
>>> np.isscalar(Number())
True