Nick the Gr33k writes: > On 14/6/2013 11:28 πμ, Jussi Piitulainen wrote: > > >>>> 'Parker' and 'May' and '2001' > > '2001' > > But why? > > that expression should return True since all stings are not empty.
It returns a value that counts as true in a conditional statement or expression: >>> if '2001': print('got a truish value') ... else: print("didn't") ... got a truish value >>> if '': print('got a truish value') ... else: print("didn't") ... didn't Zeroes and empty things tend to count as false in Python, other values as true. The values are tested as is, not coerced to a boolean first, so the value that decides the value of the whole expression is the value of the whole expression. >>> '' and whatever '' >>> False and whatever False >>> 0 and whatever 0 >>> 1 and whatever Traceback (most recent call last): File "<stdin>", line 1, in ? NameError: name 'whatever' is not defined -- http://mail.python.org/mailman/listinfo/python-list