Equivalent code to the bool() built-in function
Kushal Kumaran
kushal.kumaran+python at gmail.com
Tue Apr 19 02:23:04 EDT 2011
On Tue, Apr 19, 2011 at 7:09 AM, Christian Heimes <lists at cheimes.de> wrote:
> Am 18.04.2011 21:58, schrieb John Nagle:
>> This is typical for languages which backed into a "bool" type,
>> rather than having one designed in. The usual result is a boolean
>> type with numerical semantics, like
>>
>> >>> True + True
>> 2
>
> I find the behavior rather useful. It allows multi-xor tests like:
>
> if a + b + c + d != 1:
> raise ValueError("Exactly one of a, b, c or d must be true.")
>
Unless you're sure all of a, b, c, and d are boolean values, an int
with a negative value slipping in could result in the sum equaling 1,
but more than one of the variables evaluating to True in boolean
contexts.
--
regards,
kushal
More information about the Python-list
mailing list