python的特殊方法__nonzero__

来源:互联网 发布:诺一夏天知乎 编辑:程序博客网 时间:2024/06/07 06:01

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

class A:    def __nonzero__(self):        print 'A._nonzero__()'        return Trueprint 'A is not zero' if A() else 'A is zero'print bool(A())
运行结果如下:
(D:\Anaconda) C:\Users\Administrator\Desktop>python test.pyA._nonzero__()A is not zeroA._nonzero__()True


0 0
原创粉丝点击