Oleg Broytman wrote:
> Three-way (tri state) checkbox. You have to distinguish False and
> None if the possible valuse are None, False and True.
In that case the conventional way to write it would be
if settings[MY_KEY] == True:
...
It's not a major issue, but I get nervous when I see code
that assumes True and False are unique, because things
weren't always that way.
I would argue the opposite - the use of "is" shows a clear knowledge that True and False are each a singleton and the author explicitly intended to use them that way. Use of == in the same context is more likely to indicate a programmer who is unfamiliar with Python's truth rules.
Tim Delaney