Python Glossary English

все Python 3Условный операторконструкция

and, or, not

логика

Логические операторы. and — оба истинны; or — хотя бы одно истинно; not — отрицание. Используют короткое замыкание (lazy evaluation).

Синтаксис

a and b | a or b | not a

Неочевидное: and и or возвращают не True/False, а сам операнд — "a or b" даёт a, если оно истинно, иначе b; отсюда идиома значения по умолчанию (name or "гость"). Чистый bool из этой тройки гарантирует только not.

Примеры

print(True and False)  # → False
print(True or False)  # → True
print(not True)  # → False
age, has_id = 20, True
print(age >= 18 and has_id)  # → True
x = 5
print(x < 0 or x > 3)  # → True
print(1 < x < 10)  # → True (цепочка = неявный and)
name = "" or "Гость"
print(name)  # → Гость (короткое замыкание or)
val = None
safe = val and val.strip()  # → None (не вызывает ошибку из-за and)

См. также

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