numpy.isscalar#

numpy.isscalar(element)[source]#

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

参数:
element任意

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

返回:
valbool

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

参见

ndim

获取数组的维数

备注

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

在大多数情况下,应使用np.ndim(x) == 0代替此函数,因为它也适用于 0 维数组。这就是 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