Что означает `//` в 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 выполняет целочисленное деление, округляя результат вниз до ближайшего целого числа. Он полезен при работе с целочисленной арифметикой, циклами и разбивкой на страницы.