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 重载函数的方式,例如gradient的dx参数和histogram的bins参数。一些主要区别:x
isscalar(x)np.ndim(x) == 0PEP 3141 数值对象(包括内置类型)
TrueTrue内置字符串和缓冲区对象
TrueTrue其他内置对象,如
pathlib.Path、Exception、re.compile的结果FalseTrue第三方对象,如
matplotlib.figure.FigureFalseTrue零维 NumPy 数组
FalseTrue其他 NumPy 数组
FalseFalselist、tuple 及其他序列对象
FalseFalse示例
>>> 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