我认为这应该打印“False”,为什么它打印“True”?
>>> class Foo(object):
... def __bool__(self):
... return False
...
>>> f = Foo()
>>> if f:
... print "True"
... else:
... print "False"
...
True
>>>
你应该定义__nonzero__()
在 Python 2.x 中。它只是更名为__bool__()
在 Python 3.x 中。 (名字__nonzero__()
实际上早于bool
键入多年。)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)