Learnitweb

Python bool Data Type

In Python, bool (short for Boolean) is a built-in data type used to represent truth values: True and False. Booleans are essential in control flow, comparisons, and logical operations.

1. What is a Boolean?

Booleans are one of the simplest types in Python. There are only two Boolean values:

True
False

These values are case-sensitive, so true and false (lowercase) will raise an error.

print(True)   # Correct
print(false)  # NameError: name 'false' is not defined

2. Boolean Type and type() Function

You can use the type() function to check the type of a Boolean value:

print(type(True))   # <class 'bool'>
print(type(False))  # <class 'bool'>

3. Boolean Values from Expressions

Boolean values are commonly the result of comparison or logical expressions:

print(5 > 3)     # True
print(2 == 2)    # True
print(4 <= 1)    # False

Each comparison returns a Boolean.

4. Boolean Values of Different Data Types

In Python, you can use the bool() constructor to convert other data types into Boolean values.

Rules:

  • Falsy Values (evaluated as False):
    • None
    • False
    • 0, 0.0
    • "" (empty string)
    • [], {}, (), set() (empty collections)
  • Truthy Values (evaluated as True):
    • Non-zero numbers
    • Non-empty strings
    • Non-empty containers

Examples:

print(bool(0))        # False
print(bool(42))       # True
print(bool(""))       # False
print(bool("Hello"))  # True
print(bool([]))       # False
print(bool([1, 2]))   # True

5. Boolean Operators

Python includes three primary logical operators:

OperatorDescriptionExample
andTrue if both conditions are TrueTrue and FalseFalse
orTrue if at least one is TrueTrue or FalseTrue
notInverts the value (True → False, False → True)not TrueFalse

Examples:

a = True
b = False

print(a and b)  # False
print(a or b)   # True
print(not a)    # False

6. Booleans in Control Flow

Booleans are crucial for control structures like if, while, etc.

if statement:

x = 10

if x > 5:
    print("x is greater than 5")
else:
    print("x is 5 or less")

while loop:

count = 0
while count < 3:
    print("Counting:", count)
    count += 1

7. Identity of Boolean Values

In Python, True and False are instances of the bool class, which is a subclass of int.

print(isinstance(True, int))   # True
print(True == 1)               # True
print(False == 0)              # True

This also means:

print(True + True)     # 2
print(False + True)    # 1