Logical Operators

4 min read ·

Logical operators in Python are used to combine, modify, or reverse Boolean expressions. They play a crucial role in decision-making, condition checks, loops, validations, and control flow.
Python has three logical operators:
  • and
  • or
  • not
This topic goes from basics to deep, tricky behavior that many learners miss.

What Are Logical Operators?

Logical operators work with Boolean values (True / False) or expressions that evaluate to Boolean values.

Logical AND (and)

The and operator returns True only if both conditions are True.

Truth Table

ABA and B
TrueTrueTrue
TrueFalseFalse
FalseTrueFalse
FalseFalseFalse

Basic Examples


Logical OR (or)

The or operator returns True if at least one condition is True.

Truth Table

ABA or B
TrueTrueTrue
TrueFalseTrue
FalseTrueTrue
FalseFalseFalse

Basic Examples


Logical NOT (not)

The not operator reverses the Boolean value.

Logical Operators with Variables


Truthy and Falsy Values (Very Important)

Logical operators do not work only with True/False. They work with any value that can be evaluated as Boolean.

Falsy Values in Python

  • False
  • 0
  • 0.0
  • ""
  • []
  • {}
  • ()
  • None
Everything else is Truthy.

Logical Operators with Non-Boolean Values (Deep Concept)

Logical operators return actual values, not always True or False.

and Operator Behavior

Rule: and returns the first falsy value, otherwise the last value.

or Operator Behavior

Rule: or returns the first truthy value.

Short-Circuit Evaluation (Advanced but Critical)

Python stops evaluating as soon as the result is known.

AND Short-Circuit

The division is never executed.

OR Short-Circuit

Again, division is skipped.

Logical Operators in if Conditions


Chained Logical Expressions


Common Logical Mistakes

Mistake 1: Incorrect OR Usage

This is always True
Correct version:

Mistake 2: Overusing not

Better:

Logical Operators vs Bitwise Operators (Often Confused)

Logical operators work on truth values, bitwise operators work on binary representation.

Logical Operators with Functions


Tricky Logical Expressions (Practice)


Practice (Deep Thinking)

  • Write a condition that checks a number is between 10 and 50
  • Predict output of mixed and / or expressions
  • Explain short-circuit behavior with an example
  • Fix a buggy logical condition using correct operators