On Mon, Mar 18, 2019 at 10:14 PM Juancarlo Añez <apal...@gmail.com> wrote:
>
> It came to my attention that:
>
> In the original PEP True and False are said to be singletons 
> https://www.python.org/dev/peps/pep-0285/, but it's not in the Data Model 
> https://docs.python.org/3/reference/datamodel.html
>
>
> This came to my attention by code wanting to own the valid values in a dict's 
> key:
>
> if settings[MY_KEY] is True:
>    ...
>
>
> If True and False are singletons in the spec (and not only in the CPython 
> implementation), it should be prominent and well known.
>

"Singleton" technically means that there is only one such object.
'None' is a singleton, by language specification; if type(x) is
type(None), you can safely assume that x is None. Booleans are a bit
more tricky; there will only ever be those two, but they're two. IMO
the PEP is minorly inaccurate to use the word "singleton" there, but
it's no big deal. As Remi says, the two built-in ones are the only two
instances of that type.

ChrisA
_______________________________________________
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