If that were the sole reason, it should have been fixed when introducing Python 3. It seems to be much less controversial than other breaking changes in Python 3.<p>I think the more important reason is that Python doesn&#x27;t really have an emphasis on the boolean type in general. The `if` statement works for every type, in contrast to other languages allowing only the boolean type in `if`. It is very common to use `if string_or_number_or_anything: blah blah` in Python. While I won&#x27;t make a stance whether this is a good thing or not, it is still awkward that Python allows implicit conversion between `bool` and `int`.