Python Glossary English

все Python 3Арифметика и операторыпонятие

% остаток

арифметика

Оператор получения остатка от деления (modulo). Знак результата совпадает со знаком делителя. Широко используется для проверки чётности и цикличности.

Синтаксис

a % b

Из правила знака следует неочевидное: -123 % 10 равно 7, а не 3, поэтому привычный приём «последняя цифра через % 10» на отрицательных числах ломается — считайте от abs(n). Если нужны и частное, и остаток, divmod(a, b) отдаёт оба за один проход, а b, равное нулю, даёт ZeroDivisionError так же, как обычное деление.

Примеры

print(10 % 3)  # → 1
print(7 % 2)  # → 1 (нечётное число)
print(8 % 2)  # → 0 (чётное число)
print(123 % 10)  # → 3 (последняя цифра)
seconds = 3661; print(seconds % 60)  # → 1 (секунды)
print(15 % 5)  # → 0 (кратно)
try:
    print(5 % 0)
except ZeroDivisionError:
    print("Деление на ноль")  # → Деление на ноль

См. также

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