Оператор
not
в Python используется для логического отрицания. Он меняет истинность выражения на противоположную. Если выражение истинно (
True
), то
not
вернет
False
. Если выражение ложно (
False
), то
not
вернет
True
.
Примеры использования:
-
Инвертирование булевых значений:
x = True
y = not x # y станет False
z = False
w = not z # w станет True
-
В условных выражениях (if/else):
age = 15
if not age >= 18:
print("Вы несовершеннолетний.")
else:
print("Вы совершеннолетний.")
Здесь not age >= 18
эквивалентно age < 18
, но использование not
может быть более читаемым в некоторых случаях.
-
Проверка на отсутствие элемента в последовательности:
my_list = [1, 2, 3]
if not 4 in my_list:
print("Число 4 отсутствует в списке.")
Это эквивалентно if 4 not in my_list:
.
-
Работа с функциями, возвращающими булевы значения:
def is_valid(value):
# какая-то логика проверки value
return value > 0
x = -5
if not is_valid(x):
print("Значение не является валидным.")
Важно помнить: not
имеет более низкий приоритет, чем большинство других операторов, поэтому иногда необходимо использовать скобки для обеспечения правильной последовательности операций, особенно при сложных логических выражениях. Например,
not a == b
интерпретируется как
not (a == b)
, а не
(not a) == b
.