все Python 3operatorфункция
operator.lshift
битовые
Сдвиг влево: a << b (умножение на 2**b).
Синтаксис
operator.lshift(a, b)
У целых Python нет переполнения: lshift(1, 100) честно даёт число из 31 цифры, а не ноль, как в языках с фиксированной шириной. Отрицательный сдвиг поднимает ValueError, а не сдвигает в другую сторону. Сдвиг удобен для битовых масок (1 << n), но для умножения на степень двойки понятнее записать a * 2**n.
Примеры
import operator
print(operator.lshift(1, 3)) # → 8
print(operator.lshift(3, 2) == 3 << 2) # → True
print(operator.lshift(5, 1) == 5 * 2) # → True
print(list(map(operator.lshift, [1, 2, 3], [4, 1, 0]))) # → [16, 4, 3]
print(operator.lshift(1, -1)) # → ValueError
См. также
Открыть в полном глоссарииdocs.python.orgСообщить о неточности