Python Glossary English

все Python 3Числа и математикафункция

math.fmod

остаток

Остаток от деления как в C (fmod): знак совпадает со знаком x (отличается от %).

Синтаксис

math.fmod(...)

Разница с % не косметическая: fmod повторяет C и берёт знак от делимого, а % — от делителя, поэтому math.fmod(-10, 3) это -1.0, а -10 % 3 это 2. Для целых используйте %, для float — fmod: он точен по построению, тогда как % на числах сильно разного порядка накапливает погрешность. Результат всегда float, а нулевой делитель даёт ValueError, а не ZeroDivisionError.

Примеры

import math
print(math.fmod(10, 3))   # → 1.0
print(math.fmod(-10, 3))   # → -1.0
print(-10 % 3)   # → 2
print(math.fmod(10, -3))   # → 1.0
print(math.fmod(7.5, 2))   # → 1.5
print(math.fmod(10, 0))   # → ValueError

См. также

Частые ошибки

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