Является ли объект числом в Python 3 без использования модуля numbers?
Как определить, является ли какой-то объект числом?
Есть известные методы str().isdigit() и str().isnumeric() для строк, но они уже не работает в случае комплексных чисел, или даже для вещественных.
Я нашел метод использующий модуль numbers, такой код:
import numbers
variable = 5
print(isinstance(5, numbers.Number))
Должен выдать True. Очевидным было бы просто сравнить тип объекта со всеми существующими типами чисел в питоне, но это кажется какой-то пушкой по воробьям.
Очень бы хотелось, чтобы код не использовал каких-то библиотек и был коротким, возможно есть какой-то метод, тем более это кажется весьма тривиальной задачей, на которую я уверен уже есть решение, но ссылку я не смог найти, буду благодарен за ссылку!
Ответы (1 шт):
Попробуйте так
>>> variable = 5
>>>
>>> print(isinstance(variable, int))
True
>>> variable = 0.1 + 0.1 + 0.1 + 0.1 + 0.1 + 0.1 + 0.1 + 0.1 + 0.1 + 0.1
>>>
>>> variable
0.9999999999999999
>>> print(isinstance(variable, float))
True