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