类的__nonzero__方法用于将类转换为布尔值。通常在用类进行判断和将类转换成布尔值时调用。比如语句if A: print 'foo'中就会调用A.__nonzero__()来判断。下面这个程序应该能帮助你理解__nonzero__的作用。
class
A:
def
__nonzero__(
self
):
print
'A._nonzero__()'
return
True
print
'A is not zero'
if
A()
else
'A is zero'
print
bool
(A())
|