from typing import Any
import numbers


def is_number(thing: Any) -> bool:
    """
    A function that returns whether the given value is a number, either integer or floating
    point.  Note that this will return ``False`` for the value, ``True``, which is different
    from normal Python.

    :param thing: the value to check.
    :return: ``True`` if the value is a number.
    """
    return isinstance(thing, numbers.Number) and not isinstance(thing, bool)