Boolean value of objects in Python

前端 未结 2 813
花落未央
花落未央 2020-11-29 08:13

As we know, Python has boolean values for objects: If a class has a __len__ method, every instance of it for which __len__() happens to return 0 wi

2条回答
  •  忘掉有多难
    2020-11-29 08:34

    Refer to the Python docs for __nonzero__.

    class foo(object):
        def __nonzero__( self) :
            return self.bar % 2 == 0
    
    def a(foo):
        if foo:
            print "spam"
        else:
            print "eggs"
    
    def main():
        myfoo = foo()
        myfoo.bar = 3
        a(myfoo)
    
    if __name__ == "__main__":
        main()
    

提交回复
热议问题