Python Glossary English

все Python 3numbersпонятие

numbers.Number

числовая башня

Корень иерархии числовых абстрактных классов: isinstance(x, numbers.Number) — проверка «это вообще число».

Синтаксис

isinstance(x, numbers.Number)

Иерархия: Number → Complex → Real → Rational → Integral. Number не требует ни одного метода, поэтому numbers.Number() создаётся без ошибки, а isinstance(x, Number) истинно для int, bool, float, complex, Fraction и Decimal. Строка '5' числом не считается. Свой тип включается через Number.register(MyType) — без проверки, что он что-то умеет.

Примеры

import numbers
from decimal import Decimal
from fractions import Fraction
values = [True, 3, 2.5, 1j, Fraction(1, 3), Decimal('1.5'), '5']
print([isinstance(v, numbers.Number) for v in values])  # → [True, True, True, True, True, True, False]
import numbers
print(numbers.Integral.__mro__[1].__name__, numbers.Rational.__mro__[1].__name__, numbers.Real.__mro__[1].__name__, numbers.Complex.__mro__[1].__name__)  # → Rational Real Complex Number

См. также

Открыть в полном глоссарииdocs.python.orgСообщить о неточности