все Python 3numbersпонятие
numbers
модуль
Абстрактная иерархия числовых типов: Number, Complex, Real, Rational, Integral — для проверок isinstance.
Синтаксис
import numbers
numbers нужен, когда функция принимает «любое целое» или «любое вещественное», а не конкретно int или float: isinstance(x, numbers.Integral) пропустит и int, и чужие целые типы. Сами классы абстрактные, экземпляры из них не создают. Ловушки: bool — тоже Integral, а Decimal не считается Real, хотя Fraction — Rational.
Примеры
import numbers
from decimal import Decimal
from fractions import Fraction
print(isinstance(True, numbers.Integral)) # → True
print(isinstance(2.5, numbers.Real), isinstance(Decimal('2.5'), numbers.Real)) # → True False
print(isinstance(Fraction(1, 3), numbers.Rational)) # → True
См. также
Открыть в полном глоссарииdocs.python.orgСообщить о неточности