Python Glossary English

все Python 3operatorфункция

operator.invert

битовые

Побитовая инверсия ~a (эквивалентно −a−1 для int).

Синтаксис

operator.invert(a)

Для int результат всегда -a - 1, потому что в Python у целых нет фиксированной ширины: ~5 даёт -6, а не 250, как в восьмибитном типе. Для маски нужной ширины добавьте & 0xFF. С bool не применяйте: ~True равно -2, а не False; с Python 3.12 это предупреждение DeprecationWarning, удаление запланировано на 3.16. Для логического отрицания есть not.

Примеры

import operator
print(operator.invert(0))   # → -1
print(operator.invert(5) == ~5)   # → True
print(operator.invert(5) == -5 - 1)   # → True
print(list(map(operator.invert, [1, 2, 3])))   # → [-2, -3, -4]
print(operator.invert(True))   # → -2 — с 3.12 DeprecationWarning: ~ над bool устарел

См. также

Открыть в полном глоссарииdocs.python.orgСообщить о неточности