Учитывая произвольный объект python, какой лучший способ определить, является ли это числом? Здесь is
определяется как acts like a number in certain circumstances
.
Например, скажем, вы пишете векторный класс. Если задан другой вектор, вы хотите найти точечный продукт. Если задан скаляр, вы хотите масштабировать весь вектор.
Проверка того, что что-то есть int
, float
, long
, bool
раздражает и не охватывает определенные пользователем объекты, которые могут действовать как числа. Но, например, проверка на __mul__
недостаточно хороша, потому что только что описанный векторный класс определит __mul__
, но это не будет число, которое я хочу.