Issue
I thought this should print "False", why is it printing "True"?
>>> class Foo(object):
... def __bool__(self):
... return False
...
>>> f = Foo()
>>> if f:
... print "True"
... else:
... print "False"
...
True
>>>
Solution
You should define __nonzero__()
in Python 2.x. It was only renamed to __bool__()
in Python 3.x. (The name __nonzero__()
actually predates the introduction of the bool
type by many years.)
Answered By - Sven Marnach
0 comments:
Post a Comment
Note: Only a member of this blog may post a comment.