numpy.isscalar#
- numpy.isscalar(element)[源代码]#
如果 element 的类型是标量类型,则返回 True.
- 参数:
- element任何
输入参数,可以是任何类型和形状.
- 返回:
- valbool
如果 element 是标量类型,则为 True;否则为 False.
参见
ndim
获取数组的维度数
备注
如果你需要一个更严格的方法来识别一个 数值 标量,使用
isinstance(x, numbers.Number)
,因为这会返回False
给大多数非数值元素,例如字符串.在大多数情况下,应使用
np.ndim(x) == 0
而不是此函数,因为这也会对 0d 数组返回 true.这就是 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