lanying56123 发表于 2015-4-26 11:10:29

python的特殊方法__nonzero__

  类的__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())
页: [1]
查看完整版本: python的特殊方法__nonzero__