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 如何重载 gradientdx 参数和 histogrambins 参数这种风格的函数. 一些关键区别:

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