В Python 2, при делении двух целых чисел (int / int), результат, как правило, также будет целым числом. Это называется целочисленным делением (integer division или floor division). Результат округляется в меньшую сторону до ближайшего целого числа.
Например:
5 / 2
вернет 2
-5 / 2
вернет -3
Для получения результата с плавающей точкой (float) в Python 2, нужно чтобы хотя бы один из операндов был числом с плавающей точкой. Это можно сделать одним из следующих способов:
float(5) / 2
или 5 / float(2)
5.0 / 2
или 5 / 2.0
В Python 3, деление int / int
всегда возвращает число с плавающей точкой (float). Если нужно получить целочисленное деление, используется оператор //
.
Например (Python 3):
5 / 2
вернет 2.5
5 // 2
вернет 2
-5 // 2
вернет -3
Резюме: Важно помнить, какая версия Python используется, поскольку поведение деления int / int
различается. В Python 2 используется целочисленное деление по умолчанию, а в Python 3 - деление с плавающей точкой.