At Friday 27/10/2006 23:13, Steve Holden wrote:

J. Clifford Dyer wrote:
> the one thing that Ms. Creighton points out that I can't get past is
> that Python, even with its bool type, *still* evaluates somethingness
> and nothingness, and True and False are just numbers with hats on.
>
>  >>> True + 3
> 4
>  >>> bool(True-1)
> False
>  >>> bool(True-2)
> True
>  >>> (10 > 5) + (10 < 5)
> 1
Seems pretty clear to me that the situations you discuss above involve
numeric coercions of a Boolean value.

A "true" Boolean value should not be coerced into any other thing. True+1 is as meaningless as "A"+1, or even "1"+1. The fact is, bool is just an integer in disguise. I always regretted that Python just went mid-way moving onto a true Boolean type; I'd prefer it to stay as it was before bool was introduced.

> Python is not evaluating the truth of the matter, but, as Ms. Creighton
> would say, the "somethingness" of that which 10 > 5 evaluates to.  (1
> aka True)
>
  >>> type(10>5)
<type 'bool'>
  >>>

>>> bool.__mro__
(<type 'bool'>, <type 'int'>, <type 'object'>)

It does seem that there is a specific type associated with the result of
a comparison, even though you would really like to to be "a number with
a hat on".

It *is* an integer with a hat on.

>>> isinstance(True,int)
True


--
Gabriel Genellina
Softlab SRL
__________________________________________________
Correo Yahoo!
Espacio para todos tus mensajes, antivirus y antispam ¡gratis! ¡Abrí tu cuenta ya! - http://correo.yahoo.com.ar
-- 
http://mail.python.org/mailman/listinfo/python-list

Reply via email to