John> I'm a little confused. Why doesn't s evaluate to True in the first John> part, but it does in the second? Is the first statement something John> different?
>>> s = 'hello' >>> s == True False >>> if s: ... print 'hi' hi s is not equal to the boolean object True, but it also doesn't evaluate to the string class's "nil" value. Each of the builtin types has such an "empty" or "nil" value: string "" list [] tuple () dict {} int 0 float 0.0 complex 0j set set() Any other value besides the above will compare as "not false". Skip -- http://mail.python.org/mailman/listinfo/python-list