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) == 0PEP 3141 数字对象(包括内置对象)
TrueTrue内置字符串和缓冲对象
TrueTrue其他内置对象,如
pathlib.Path、Exception,以及re.compile的结果FalseTrue像
matplotlib.figure.Figure这样的第三方对象FalseTrue零维 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