question about True values

Georg Brandl g.brandl-nospam at gmx.net
Sun Oct 29 02:26:23 EST 2006


Chetan wrote:
>> Steven D'Aprano wrote:
>> > On Sat, 28 Oct 2006 03:13:42 +0100, Steve Holden wrote:
>>  >
>> >>> Finally, while True/False is a good mental mapping for numeric comparisons,
>> >>> take the following:
>> >>>
>> >>>  >>> if "Cliff is a pillar of the open source community":
>> >>> ....	print "thank you"
>> >>> .... else:
>> >>> ....	print "bugger off"
>> >>>
>> >>> bugger off
>> >>>
>> 
>> First off, even though nobody has called me on it, this example really prints
>> "thank you", not "bugger off".  I got confused in my cutting and pasting.
>> Sorry about that.
>> 
>> 
>> >>> Clearly this is not true.  (Google Cliff/Dyer open source: only 11 hits.),
>> >>> but the string is *something* so the if block gets evaluated.
>> >>>
>> >>   >>> if "The above example was bollocks":
>> >>   ...   print "You don't know what you are talking about"
>> >>   ... else:
>> >>   ...   print "Sorry: of course you are perfectly correct"
>> >>   ...
>> >> You don't know what you are talking about
>> > Cliff is making a point about semantics, and he's absolutely correct about
>> > it, although it is irrelevant since we're talking about two-value logic
>> > not semantics.
>> Cheers,
>> Cliff
> 
> I am joining after some network downtime here, so I seem to have missed what
> the real issue here is. At the risk of being completely irrelevant to the 
> discussion here, I think it doesn't seem to be just about something or 
> nothing - is None something or nothing? It seems to be neither:

If is, of course, nothing. You may have misunderstood the semantics of the
"and" and "or" operators.

>>>> None
>>>> None and True
>>>> None or True
> True
>>>> None and False
>>>> None or False
> False
>>>> False or None
>>>> False and None
> False
>>>> True and None
>>>> True or None
> True
>>>> not None
> True

x and y     | x something | x nothing
---------------------------------------
y something | y           | x
y nothing   | y           | x

x or y      | x something | x nothing
---------------------------------------
y something | x           | y
y nothing   | x           | y


Georg



More information about the Python-list mailing list