In Python, Boolean values (True and False) can also participate in arithmetic operations with floating-point numbers.
When this happens, the Boolean is automatically converted (cast) to a float — True becomes 1.0 and False becomes 0.0.
This process is another example of implicit type casting, where Python promotes data types automatically to maintain consistency and precision.
Example: Implicit Conversion from bool to float
x = False # bool → 0
y = 3.5 # float
result = x + y
print(result) # Output: 3.5
print(type(result)) # Output:
Explanation:
Here’s what happens step by step:
- False is implicitly converted to 0.0 (a float value).
- The operation becomes 0.0 + 3.5, resulting in 3.5.
- The final output is of float type since one operand (y) is already a float.
Result: False + 3.5 → 0.0 + 3.5 = 3.5
This automatic promotion ensures arithmetic accuracy and keeps both operands within the same numeric hierarchy.
Real-World Use Case
Boolean–float conversions are often used in:
- Statistical calculations where Boolean values represent binary outcomes
- Weight adjustments in algorithms or models
- Data preprocessing, especially when converting categorical values to numerical formats
Real-World Example
# Calculating average rating where
True = positive, False = negative
feedback = [True, True, False, True]
average_score = sum(feedback) / len(feedback)
print(float(average_score))
# Output: 0.75
Explanation:
True values are treated as 1.0 and False as 0.0. The average of [1, 1, 0, 1] becomes 0.75, which is a float result.
Leave a Reply