Две косые черты в Python
я наткнулся на этот пример кода из radix сортировать:
def getDigit(num, base, digit_num):
# pulls the selected digit
return (num // base ** digit_num) % base
Что значит '//
сделать в Python?
2 ответов
//
оператор разделения пола. Он создает пол частного его операндов, без округления с плавающей запятой для целочисленных операндов. Это также иногда называют целочисленным делением, хотя вы можете использовать его с поплавками, потому что деление целых чисел с /
используется для этого по умолчанию.
в Python 3, обычный /
оператор деления возвращает значения с плавающей запятой, даже если оба операнда являются целыми числами, поэтому для напольное отделение. Это отличается от Python 2, где /
выполняется деление пола, если оба операнда являются целыми числами, и деление с плавающей запятой, если хотя бы один из операндов является значением с плавающей запятой.
на //
оператор был впервые представлен для прямой совместимости в Python 2.2, когда было решено, что Python 3 должен иметь эту новую способность. Вместе с возможностью включить поведение Python 3 через from __future__ import division
(также представлен в Python 2.2), это позволяет вам напишите Python 3-совместимый код в Python 2.
вы можете просто попробовать это:
In []: 5/2
Out[]: 2
In []: 5.0/2
Out[]: 2.5
In []: 5.0//2
Out[]: 2.0
Это должно быть самоочевидным.
(это в Python 2.7.)