You want `x is False`, because `0 == False`: Python didn&#x27;t originally have integers so `0` and `1` were used for `False` and `True` respectively. In order not to break existing code using equality comparisons (rather than implicit truthiness) or typechecking, when booleans were introduced `bool` was made a subclass of `int`, and `False` and `True` equal to respectively `0` and `1`.<p>This is one of the warts which wasn&#x27;t changed in Python 3.