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/