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
原文地址:https://www.cnblogs.com/yinzhengjie/p/11223674.html