On 23/06/2016 12:39, Chris Angelico wrote:
On Thu, Jun 23, 2016 at 8:15 PM, BartC <b...@freeuk.com> wrote:
Actually pretty much any expression can be used, because Python can
interpret almost anything as either True or False. Don't ask for the rules
because they can be complicated, but for example, zero is False, and any
other number is True. I think.

The rules are very simple. Anything that represents "something" is
true, and anything that represents "nothing" is false. An empty
string, an empty list, an empty set, and the special "None" object
(generally representing the absence of some other object) are all
false. A string with something in it (eg "Hello"), a list with
something in it (eg [1,2,4,8]), etc, etc, are all true.

Maybe I was thinking of 'is' where sometimes the results are unintuitive.

But even with ordinary conditionals, False is False, but [False] is True. And [] is False, while [[]] is True. A class instance is always True, even when empty. And then "False" is True as well!

--
Bartc

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

Reply via email to