18.03.19 22:58, Greg Ewing пише:
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.

"x == True" looks more dubious to me than "x is True". The latter can be intentional (see for example the JSON serializer), the former is likely was written by a newbie and contains a bug. For example, 1 and 1.0 will pass this test, but 2 and 1.2 will not.

Python 3.8 will emit a syntax warning for "x is 1" but not for "x is True", because the latter is well defined and have valid use cases.

_______________________________________________
Python-ideas mailing list
Python-ideas@python.org
https://mail.python.org/mailman/listinfo/python-ideas
Code of Conduct: http://python.org/psf/codeofconduct/

Reply via email to