numpy.isscalar#

numpy.isscalar(element)[source]#

如果 element 的類型為純量類型,則返回 True。

參數::
elementany

輸入引數,可以是任何類型和形狀。

返回::
valbool

如果 element 是純量類型,則為 True,否則為 False。

另請參閱

ndim

取得陣列的維度數量

註解

如果您需要更嚴格的方式來識別數值純量,請使用 isinstance(x, numbers.Number),因為這對於大多數非數值元素(例如字串)會返回 False

在大多數情況下,應使用 np.ndim(x) == 0 而非此函數,因為這也將對 0 維陣列返回 true。這就是 numpy 如何以 dx 引數到 gradientbins 引數到 histogram 的樣式來多載函數的方式。一些主要差異

x

isscalar(x)

np.ndim(x) == 0

PEP 3141 數值物件(包括內建模組)

True

True

內建字串和緩衝區物件

True

True

其他內建物件,例如 pathlib.PathExceptionre.compile 的結果

False

True

第三方物件,例如 matplotlib.figure.Figure

False

True

零維 numpy 陣列

False

True

其他 numpy 陣列

False

False

listtuple 和其他序列物件

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