John Salerno wrote:
> I'm a little confused. Why doesn't s evaluate to True in the first part,
>   but it does in the second? Is the first statement something different?
>
>  >>> s = 'hello'
>  >>> s == True
> False
>  >>> if s:
>       print 'hi'
>
>
> hi
>  >>>
>
> Thanks.

Excellent question!  This should help:

>>> s = "Hello"
>>> s
'Hello'
>>> bool(s)
True
>>> s == True
False

The value of s is not equal to the value of True.  But, the *boolean*
value of s is True, since it is not 0 or an empty string.  The python
'if' statement evaluates the boolean value of the condition expression.

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

Reply via email to