- 此问题在此处已有答案**:
Defining "boolness" of a class in python(3个答案)
15小时前关门了。
我以为这应该打印"假",为什么它打印"真"?
>>> class Foo(object):
... def __bool__(self):
... return False
...
>>> f = Foo()
>>> if f:
... print "True"
... else:
... print "False"
...
True
>>>
1条答案
按热度按时间atmip9wb1#
你应该在Python 2.x中定义
__nonzero__()
,它只是在Python 3.x中被重命名为__bool__()
(__nonzero__()
这个名字实际上比bool
类型的引入早了很多年)。