Search code examples
pythonintegercharactercomparison-operators

Python evaluates comparison of integer and character with the same value as False


I ran into this interesting little 'gotcha' this evening, consider the following code snippet:

( chr(1) == 1 )

This comparison evaluates to False on Python 2.7.4, is this a feature or a bug?, If a feature, can anyone explain the reasoning behind this design decision?


Solution

  • There's no "char" type in python, chr returns a string of length one, and with strong typing it doesn't make sense for any string to be equal to any integer.