В python существуют следующие встроенные числовые типы данных: int — для представления целых чисел (обычные целые и целые неограниченного размера). Обычные целые соответстуют типу long в языке C. Если целое число заканчивается знаком l или L, оно рассматривается как целое неограниченного размера. В последних версиях Python целые числа автоматически преобразуются в целые неограниченного размера, когда это необходимо; float — для представления вещественных чисел (соответствует типу double в языке C); complex — комплексные числа. Для представления вещественных чисел высокой точности в качестве дополнительного модуля доступен тип decimal.
Запись целого числа осуществляется с помошью десятичных цифр. Для записи вещественного числа используются десятичные цифры, точка и (или) экспонента со знаком, которая начинается с символов e или E. Комплексные числа записываются в виде a+bj, где a — действительная, b — мнимая часть.
Если в выражении используются числа различных типов, то более простые типы преобразуются к более сложным и затем выполняются операции. Например, если в выражении используются целое число и вещественное число, то сначала целое число преобразуются к вещественному типу, а затем выполняются операции. В python используются следующий порядок сложности типов: целые числа, целые числа неограниченного размера, вещественные числа, комплексные числа.
Заметим, что операция деления целых чисел действует как деление с усечением дробной части. Для обычного деления необходимо использовать вещественные числа.
Пример.
>>> 5/2
2
>>> 5/2.0
2.5
>>>
Числовые типы можно преобразовывать с помощью встроенных функций int(), long(), float(), complex().
При автоматическом выводе результата не осуществляется его округление. При использовании инструкции print отбрасываются лишние цифры.
Пример.
>>> 1/3.0
0.33333333333333331
>>> print 1/3.0
0.333333333333
>>>
Выводых результата в виде строки, содержащей значения без округления и с округлением можно осуществить с помощью встроенных функций repr() и str()
>>> repr(1/3.0)
'0.33333333333333331'
>>> str(1/3.0)
'0.333333333333'
>>>
Вывод результата можно осуществлять с помощью строки форматирования
>>> "%1.3f" % a
'0.333'
>>>