Python 3.0+Арифметика и операторыпонятие
/ деление
арифметика
Оператор деления. Для int и float всегда возвращает float, даже при делении двух целых. Деление на ноль вызывает ZeroDivisionError.
Синтаксис
a / b -> float
Для int и float результат всегда float (complex, Decimal и Fraction делятся в свой тип), а у float всего 53 бита мантиссы: на больших целых младшие разряды тихо теряются, а совсем крупные числа вроде 10**400 / 2 падают с OverflowError — там, где нужен точный целый ответ, бери // и не превращай float обратно в int. Деление на 0.0 тоже даёт ZeroDivisionError, а не inf, как в C или NumPy.
Примеры
print(10 / 2) # → 5.0 (всегда float)
print(9 / 3) # → 3.0
print(7 / 2) # → 3.5
print(1 / 3) # → 0.3333333333333333
print(type(6 / 2)) # → <class 'float'>
try:
print(1 / 0)
except ZeroDivisionError:
print("Деление на ноль!") # → Деление на ноль!
См. также
Открыть в полном глоссарииdocs.python.orgСообщить о неточности