[Python-3000] __nonzero__ vs. __bool__
walter at livinglogic.de
Tue Nov 21 21:18:30 CET 2006
tomer filiba wrote:
> patch updated
You're fast! ;)
AFAICT now we have the following problem: If
Objects/typeobject.c::slot_nb_bool() falls back to using __len__(), the
return value of __len__() must be a bool.
> On 11/21/06, *Guido van Rossum* <guido at python.org
> <mailto:guido at python.org>> wrote:
> I think it would set a good example if __bool__ was *required* to
> return exactly True or False and no other object, not even int
> instances equal to 0 or 1. Surely that can't be much of a burden. Feel
> free to upload an improved patch.
> On 11/21/06, Walter Dörwald <walter at livinglogic.de
> <mailto:walter at livinglogic.de>> wrote:
> > Guido van Rossum wrote:
> > > On 11/21/06, Ivan Krstić < krstic at solarsail.hcs.harvard.edu
> <mailto:krstic at solarsail.hcs.harvard.edu>> wrote:
> > >> Guido van Rossum wrote:
> > >>> Can anyone help out evaluating this patch? If it has to wait
> for me
> > >>> it's gonna be a looooooong wait...
> > >> Looks fine to me functionally, although it seems to
> gratuitously retab
> > >> some code that used to be aligned with tabstop 8 to a tabstop of 4.
> > >
> > > Thanks! I hope you meant "indentation level" instead of "tabstop".
> > > Tomer, can you fix the indentation to be whatever's prevailing
> in the
> > > file you're editing?
> > Another question is whether __bool__() should be allowed to return an
> > int (or any other object), or if it *must* be a bool. (The patch
> > currently allows ints). What if __bool__() returns subclasses of int,
> > that overwrite __bool__() themself?
> > Servus,
> > Walter
> --Guido van Rossum (home page: http://www.python.org/~guido/)
More information about the Python-3000