zoukankan      html  css  js  c++  java
  • 布尔测试函数重写

    布尔测试函数重写
    格式:
      __bool__
    作用:
      用于bool(obj) 函数取值
      用于if语句的真值表达式中
      用于while 语句的真值表达式中
    说明:
      1. 当自定义的类内有 __bool__(self) 方法时,以此方法的返回值作为bool(obj) 的返回值
      2. 当不存在__bool__(self) 方法时,bool(x) 返回__len__(self) 方法的返回值是否为零来测试布尔值
      3. 当不存在__len__(self) 方法时,则直接返回True

    class MyList:
        def __init__(self, iterable=()):
            self.data = [x for x in iterable]
    
        def __bool__(self):
            return any(self.data)      #一个为真就返回true,也可以用all
    
    my = MyList([False ,0,0,1])
    print(bool(my))
    if my:
        print(my, "True")
    else:
        print(my, "False")
    
    
    输出结果:
    True
    MyList([False, 0, 0, 1]) True
  • 相关阅读:
    Vue小实例
    Bootstrap进度条
    Bootstrap导航栏
    Bootstrap表单
    java date类
    正则表达式(java)规则大全
    正则表达式(java)
    java Stringbuffer类
    java String类
    object类
  • 原文地址:https://www.cnblogs.com/zengsf/p/9551249.html
Copyright © 2011-2022 走看看