[Python-Dev] For review: PEP 285: Adding a bool type
M.-A. Lemburg
mal@lemburg.com
Fri, 08 Mar 2002 18:20:13 +0100
Guido van Rossum wrote:
>
> > > def __repr__(self):
> > > if self:
> > > return "True"
> > > else:
> > > return "False"
> > >
> > > __str__ = __repr__
> >
> > I don't like this: it will break too much code since there
> > are already two singletons Py_True and Py_False available
> > in Python and these return 1 / 0 resp.
>
> But this is the whole point of introducing a new type rather than
> simply defining True as 1 and False as 0!
That's not how I read it: making bool a type would allow type
checks to be done and this is a *much* more important feature
to have than some different str(obj) output.
There are many situations when doing RPC or interfacing with
other systems such as databases where a type check for
booleans is needed.
Currently, this can be done by simply using the already
existing Py_True and Py_False which are exposed at
Python level through (1==1) and (1==0) and we should not
break this scheme. '%s' % True must continue to
deliver '0' otherwise you'll end up breaking interfaces
which rely on this (such as database modules).
There's also another issue here: "True" and "False"
are English words, "0" and "1" are language neutral.
--
Marc-Andre Lemburg
CEO eGenix.com Software GmbH
______________________________________________________________________
Company & Consulting: http://www.egenix.com/
Python Software: http://www.egenix.com/files/python/