DevAcademia
C++C#CPythonJava
  • Python Fundamentals

  • Introduction to Python
  • Getting Started with Python
  • Python Syntax
  • Python Comments
  • Python Variables
  • Python Data Types
  • Python Numbers
  • Python Casting
  • Python Strings
  • Python Booleans
  • Python Operators
  • Python Lists
  • Python Tuples
  • Python Sets
  • Python Dictionaries
  • Python If...Else
  • Python Match
  • Python While Loops
  • Python For Loops
  • Python Functions
  • Python Lambda
  • Python Arrays
  • Python OOP

  • Python OOP
  • Python Constructors
  • Python Destructors
  • Python Classes/Objects
  • Python Inheritance
  • Python Polymorphism
  • Python Quiz

  • Python Fundamentals Quiz
  • Python Fundamentals

  • Introduction to Python
  • Getting Started with Python
  • Python Syntax
  • Python Comments
  • Python Variables
  • Python Data Types
  • Python Numbers
  • Python Casting
  • Python Strings
  • Python Booleans
  • Python Operators
  • Python Lists
  • Python Tuples
  • Python Sets
  • Python Dictionaries
  • Python If...Else
  • Python Match
  • Python While Loops
  • Python For Loops
  • Python Functions
  • Python Lambda
  • Python Arrays
  • Python OOP

  • Python OOP
  • Python Constructors
  • Python Destructors
  • Python Classes/Objects
  • Python Inheritance
  • Python Polymorphism
  • Python Quiz

  • Python Fundamentals Quiz

Loading Python tutorial…

Loading content
Python FundamentalsTopic 22 of 77
←PreviousPrevNextNext→

Python Booleans

Boolean Fundamentals

Booleans represent one of two values: `True` or `False`. In Python, booleans are a subclass of integers where `True` has the value 1 and `False` has the value 0.

Key characteristics:

- Commonly used for logical operations and control flow

- Case-sensitive in Python (`True`, `False`)

- Automatically evaluated in boolean contexts such as `if` and `while`

Example
# Boolean assignment
is_active = True
has_permission = False

# Type checking
print(type(True))  # <class 'bool'>
print(isinstance(False, int))  # True
Output
<class 'bool'>
True

Truthy and Falsy Values

In Python, every object can be evaluated in a boolean context. Some values are considered 'falsy', while most others are considered 'truthy'.

Example
# Truthy/Falsy examples
print(bool(0))        # False
print(bool("Hello"))  # True
print(bool([]))       # False
print(bool([1,2]))    # True
Output
False
True
False
True
Falsy ValuesTruthy Values
FalseTrue
NoneAny non-zero number
0, 0.0Any non-empty string
Empty sequences: '', [], ()Non-empty sequences like [1], 'abc'
Empty mappings: {}Non-empty dictionaries
Objects with __bool__() or __len__() returning 0Most other custom objects

Boolean Operations

Python provides three core boolean operators with short-circuit evaluation:

Example
# and - Both conditions must be True
print(True and False)  # False

# or - At least one condition must be True
print(True or False)   # True

# not - Negates the boolean value
print(not True)        # False
Output
False
True
False
ℹ️ Note: These operators stop evaluating as soon as the result is determined (short-circuiting).

Comparison Operators

Comparison operators return boolean values when comparing objects.

Example
x, y = 10, 20

# Basic comparisons
print(x == y)  # False
print(x != y)  # True
print(x < y)   # True
print(x >= y)  # False

# Chained comparisons
print(5 <= x <= 15)  # True
Output
False
True
True
False
True

Advanced Boolean Usage

Booleans are essential in control structures and built-in functions:

⚠️ Warning: Prefer using `if x:` instead of `if x == True:` for readability.
Example
# Conditional expressions
age = 20
status = "Adult" if age >= 18 else "Minor"

# While loops
count = 0
while count < 5:
    print(count)
    count += 1

# Built-in functions
flags = [True, False, True]
any_true = any(flags)  # True
all_true = all(flags)  # False
Output
0
1
2
3
4

Practical Applications

  • Input validation (checking user data)
  • Feature flags (turning features on/off)
  • State management (tracking active/inactive states)
  • Conditional rendering (controlling UI visibility)
  • Error handling flows (circuit breaker patterns)
Example
# Feature flag example
FEATURE_ENABLED = True

def new_feature():
    if FEATURE_ENABLED:
        print("Running new feature")
    else:
        print("Feature disabled")

# Input validation example
def is_valid_email(email):
    return ('@' in email) and ('.' in email.split('@')[-1])
ℹ️ Note: Use descriptive boolean variable names to make conditions easy to read.
Test your knowledge: Python Booleans
Quiz Configuration
4 of 8 questions
Sequential
Previous allowed
Review enabled
Early close allowed
Estimated time: 5 min
Python FundamentalsTopic 22 of 77
←PreviousPrevNextNext→