Глава 4 · Python любит числа

Карта числовых типов Python

Прежде чем идти глубже в каждый тип по отдельности — увидим общую картину целиком.

Прежде чем идти глубже — соберём общую карту. В Python есть три встроенных числовых типа, литералы которых понимает сам язык:

Числа в Pythonintцелые числаfloatприближённые дробные(двоичная плавающая точка)complexдействительная + мнимаячасть
Три встроенных числовых типа — литералы понимает сам язык

Кроме них, в стандартной библиотеке (модули, которые устанавливаются вместе с Python, но требуют явного import) есть ещё два важных числовых инструмента:

Точные помощникииз стандартнойбиблиотекиDecimalдесятичная точность — дляденег и учётаFractionточные обычные дроби p/q
Decimal и Fraction — НЕ встроенные литералы, а классы из модулей стандартной библиотеки
Важное различие
int, float и complex — часть самого языка: их литералы (42, 3.14, 3+4j) работают без единого import. Decimal и Fraction — обычные классы Python из модулей decimal и fractions, и без import они недоступны. Мы разберём оба подробно в разделах 4.14–4.15.

Дальше в этой главе мы пройдём по каждому из пяти инструментов подробно — а в самом конце главы (раздел 4.22) соберём их все в одну финальную карту выбора: какой тип нужен для какой задачи.