MRAB wrote:
Gary Herron wrote:

goldtech wrote:

Could you explain or link me to an explanation of this? Been using
Python for a while but not sure I understand what's happening below.
Thanks.


ss=1 and "fffff"
ss

'fffff'
ss=0 and "fffff"
ss

0


Python's Boolean operators don't turn arbitrary values into True and False values. If you use it in any conditional, you'll get the same result as if it did, but it is occasionally it's nice to get the actual values used in the "and" instead of having the value distilled down to a True/False.


 >From the Python manual:
These are the Boolean operations, ordered by ascending priority:

Operation     Result     Notes
|x or y|     if x is false, then y, else x     (1)
|x and y|     if x is false, then x, else y     (1)
|not x|     if x is false, then |True|, else |False|     (2)

The Pythonic table would be:

Operation     Result
|x or y|     x if x else y
|x and y|     y if x else x
|not x|     False if x else False

:-)

That last should be
|not x|   False if x else True

~Ethan~
--
http://mail.python.org/mailman/listinfo/python-list

Reply via email to