Steven D'Aprano : > On Thu, 24 May 2007 06:59:32 +0000, Tim Roberts wrote: > >> As a general rule, I've found code like "if x == False" to be a bad idea in >> ANY language. > > > Surely that should be written as "if (x == False) == True"? > > Why compare to False?
" if not x : ... " It really doesn't matter if x is False or if it evaluates to False. Many things evaluate to False like [], (), 0, "", None and a few other things. >>> def tf(thing): ... if thing : print "True thing", thing ... elif not thing : print "False thing",thing ... else : print "No thing" ... >>> tf([]) False thing [] >>> tf([1]) True thing [1] >>> a = () >>> tf(a) False thing () >>> a=(0) >>> tf(a) False thing 0 >>> a= (1,2,3) >>> tf(a) True thing (1, 2, 3) >>> tf("abc") True thing abc >>> tf("") False thing >>> -- http://mail.python.org/mailman/listinfo/python-list