[Python-ideas] True and False are singletons
ericfahlgren at gmail.com
Mon Mar 18 11:10:03 EDT 2019
On Mon, Mar 18, 2019 at 7:04 AM Rhodri James <rhodri at kynesim.co.uk> wrote:
> On 18/03/2019 12:19, Richard Damon wrote:
> > On 3/18/19 7:27 AM, Greg Ewing wrote:
> >> Juancarlo Añez wrote:
> >>> if settings[MY_KEY] is True:
> >>> ...
> >> If I saw code like this, it would take a really good argument to
> >> convince me that it shouldn't be just
> >> if settings[MY_KEY]:
> >> ...
> > That means something VERY different. The first asks if the item is
> > specifically the True value, while the second just asks if the value is
> > Truthy, it wold be satisfied also for values like 1.
> Yes. And the latter is what people almost always mean.
No, it depends heavily on the context. In GUI code, Oleg's example
(tri-state checkbox) is a pervasive idiom. There's lots of code that says
"if x is True" or "if x is False" or "if x is None" and that's a very clear
indicator that you are dealing with these "booleans that can also be
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the Python-ideas