zoukankan      html  css  js  c++  java
  • Pthon魔术方法(Magic Methods)-bool

              Pthon魔术方法(Magic Methods)-bool

                                          作者:尹正杰

    版权声明:原创作品,谢绝转载!否则将追究法律责任。

    一.bool方法

    __bool__:
      内建函数bool(),或者对象放在逻辑表达式的位置,调用这个函数返回布尔值。
      没有定义"__bool__()",就找"__len__()"返回长度,非0为真。
      如果"__len__()"也没有定义,那么所有实例都返回真。

    __len__:
      内建函数len(),调用这个函数返回当前数据类型的长度。

    二.案例展示

     1 #!/usr/bin/env python
     2 #_*_conding:utf-8_*_
     3 #@author :yinzhengjie
     4 #blog:http://www.cnblogs.com/yinzhengjie
     5 
     6 class A: pass
     7 
     8 class B:
     9     def __bool__(self):
    10         return False
    11 
    12 class C:
    13     def __len__(self):
    14         return 0
    15 
    16 a = A()
    17 
    18 print(bool(A))
    19 print(bool(a))
    20 
    21 if A():
    22     print("Real A instance")
    23 
    24 print("{0} 我是分割线 {0}".format("*" * 20))
    25 
    26 b = B()
    27 print(bool(B))
    28 print(bool(b))
    29 
    30 if B():
    31     print("Real B instance")
    32 
    33 print("{0} 我是分割线 {0}".format("*" * 20))
    34 
    35 c = C()
    36 print(bool(C))
    37 print(bool(c))
    38 
    39 if C():
    40     print("Real C instance")
    41     
    42     
    43 #以上代码执行结果如下:
    44 True
    45 True
    46 Real A instance
    47 ******************** 我是分割线 ********************
    48 True
    49 False
    50 ******************** 我是分割线 ********************
    51 True
    52 False
  • 相关阅读:
    hdu 4308(bfs)
    数位dp
    hdu 4548(素数打表)
    不要把时间浪费在QQ上
    用插值方法构造多项式证明中值问题
    《摩诃般若波罗蜜多心经》 玄奘 译
    证明高斯引理
    《摩诃般若波罗蜜多心经》 玄奘 译
    若一整系数$n$次多项式在有理数域可约,则总可以分解成次数小于$n$的两整系数多项式之积.
    用teamviewer控制内网计算机
  • 原文地址:https://www.cnblogs.com/yinzhengjie/p/11223674.html
Copyright © 2011-2022 走看看