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 如何重载类似于gradient
的dx
参数和histogram
的bins
参数的函数的方式。一些关键区别x
isscalar(x)
np.ndim(x) == 0
PEP 3141 数字对象(包括内置对象)
True
True
内置字符串和缓冲区对象
True
True
其他内置对象,例如
pathlib.Path
、Exception、re.compile
的结果False
True
第三方对象,例如
matplotlib.figure.Figure
False
True
零维 NumPy 数组
False
True
其他 NumPy 数组
False
False
list、tuple和其他序列对象
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