Junior
42
questionbank

Как работают логические операторы and, or и not в Python?

Получайте ответы на вопросы в реальном времени с Sobes Copilot
Ответ от нейросети sobes.tech

Операторы and, or и not используются для комбинирования или изменения логических выражений.

  • and: Возвращает True, если оба операнда истинны. В противном случае возвращает False. При коротком замыкании, если левый операнд ложный, правый не вычисляется.

    python
  • or: Возвращает True, если хотя бы один из операндов истинен. Возвращает False только если оба операнда ложны. При коротком замыкании, если левый операнд истинный, правый не вычисляется.

    python
  • not: Отрицает логическое значение операнда. Возвращает True, если операнд ложный, и False, если операнд истинный.

    python

Помимо булевых значений (True и False), эти операторы также работают с другими типами данных, используя их "истинность" или "ложность" в булевом контексте:

  • Числа: nonzero (истинные), zero (ложные).
  • Строки, списки, кортежи, словари, множества: непустые (истинные), пустые (ложные).
  • None: ложный.

При вычислении and и or Python возвращает не только True или False, но и один из операндов (короткое замыкание):

  • a and b: Если a ложно, возвращает a. Иначе возвращает b.
    python
  • a or b: Если a истинно, возвращает a. Иначе возвращает b.
    python

Это поведение важно для условных выражений и назначения значений по умолчанию.