Что означает `//` в Python? (С примерами)

В Python //
является оператором целочисленного деления. Он делит два числа и округляет результат вниз до ближайшего целого числа.
Например:
print(10 // 3) # Вывод: 3
print(-10 // 3) # Вывод: -4
Ключевые выводы
//
выполняет целочисленное деление, то есть округляет вниз результат.- Работает с целыми числами и числами с плавающей точкой.
- Всегда округляет в сторону отрицательной бесконечности (
-∞
).
Понимание целочисленного деления (//
)
Оператор //
делит два числа, но вместо возврата результата с плавающей точкой, он усекает (округляет вниз) до ближайшего целого числа.
Пример:
print(7 // 2) # Вывод: 3 (вместо 3.5)
print(-7 // 2) # Вывод: -4 (округление в сторону -∞)
Как //
обрабатывает числа с плавающей точкой?
Даже если один из операндов является числом с плавающей точкой, результат остается округленным вниз, но в формате с плавающей точкой:
print(7.0 // 2) # Вывод: 3.0
print(-7.5 // 2) # Вывод: -4.0
Разница между /
и //
Оператор Описание Пример /
Обычное деление (возвращает число с плавающей точкой) 5 / 2 = 2.5
//
Целочисленное деление (округляет вниз) 5 // 2 = 2
Когда использовать //
?
- Когда нужны только целые числа (например, при подсчете элементов).
- Избежание ошибок точности чисел с плавающей точкой (например, при индексации массивов).
- Обеспечение целочисленных результатов в циклах.
Пример: Использование //
для разбивки на страницы:
items_per_page = 10
total_items = 95
pages = total_items // items_per_page
print(pages) # Вывод: 9
Часто задаваемые вопросы
Нет, если один из операндов является числом с плавающей точкой, результат будет числом с плавающей точкой.
Потому что `//` округляет в сторону отрицательной бесконечности (`-∞`).
Да, `a // b` эквивалентно `math.floor(a / b)`.
Заключение
Оператор //
в Python выполняет целочисленное деление, округляя результат вниз до ближайшего целого числа. Он полезен при работе с целочисленной арифметикой, циклами и разбивкой на страницы.