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
  • 相关阅读:
    [20200316]dmesg与时间戳2.txt
    [20200312]不要设置net.ipv4.tcp_tw_recycle=1.txt
    [20200223]关于latch and mutext的优化.txt
    [20200211]使用DBMS_SHARED_POOL.MARKHOT与sql_id的计算.txt
    [20200129]子光标不共享BIND_EQUIV_FAILURE.txt
    [20200103]GUID转换GUID_BASE64.txt
    [20191220]关于共享内存段相关问题.txt
    [20191218]降序索引疑问4.txt
    git工具-系列目录
    git工具-git基础
  • 原文地址:https://www.cnblogs.com/yinzhengjie/p/11223674.html
Copyright © 2011-2022 走看看