# numpy.isscalar¶

`numpy.``isscalar`(element)[source]

Returns True if the type of element is a scalar type.

Parameters
elementany

Input argument, can be of any type and shape.

Returns
valbool

True if element is a scalar type, False if it is not.

`ndim`

Get the number of dimensions of an array

Notes

If you need a stricter way to identify a numerical scalar, use `isinstance(x, numbers.Number)`, as that returns `False` for most non-numerical elements such as strings.

In most cases `np.ndim(x) == 0` should be used instead of this function, as that will also return true for 0d arrays. This is how numpy overloads functions in the style of the `dx` arguments to `gradient` and the `bins` argument to `histogram`. Some key differences:

x

`isscalar(x)`

`np.ndim(x) == 0`

PEP 3141 numeric objects (including builtins)

`True`

`True`

builtin string and buffer objects

`True`

`True`

other builtin objects, like `pathlib.Path`, Exception, the result of `re.compile`

`False`

`True`

third-party objects like `matplotlib.figure.Figure`

`False`

`True`

zero-dimensional numpy arrays

`False`

`True`

other numpy arrays

`False`

`False`

list, tuple, and other sequence objects

`False`

`False`

Examples

```>>> 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 supports PEP 3141 numbers:

```>>> from fractions import Fraction
>>> np.isscalar(Fraction(5, 17))
True
>>> from numbers import Number
>>> np.isscalar(Number())
True
```

numpy.isrealobj

#### Next topic

numpy.logical_and