Python Glossary English

все 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Сообщить о неточности