布尔值
- 所有标准对象均可用于布尔测试,每个对象天生具有布尔True或False
- 空对象, 值为零的任何数字或者None的布尔值都是False
- 用户创建的类实例如果定义了nonzero(
__nonzero__
())或length(__len__
())且值为0,那么他们的布尔值就是False。如果nonzero和length同时存在,以nonzero的结果为准。
标准对象里的False
复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21def print_boolean_value(value): if value: print('True') else: print('False') if __name__ == '__main__': # 下面所有的结果都是False print_boolean_value(None) print_boolean_value(False) # 所有值为0的数 print_boolean_value(0) print_boolean_value(0.0) print_boolean_value(0L) print_boolean_value(0.0 + 0.0j) print_boolean_value("") print_boolean_value([]) print_boolean_value(()) print_boolean_value({})
自定义类实例的False
复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30class A(object): def __nonzero__(self): return False class B(object): def __len__(self): return 0 class C(object): def __nonzero__(self): return False def __len__(self): return 1 class D(object): pass if __name__ == '__main__': # 下面的结果是False print_boolean_value(A()) print_boolean_value(B()) print_boolean_value(C()) # 下面的结果是True print_boolean_value(D())
代码下载
本系列文章和代码已经作为项目归档到github,仓库地址:jumper2014/PyCodeComplete。大家觉得有帮助就请在github上star一下,你的支持是我更新的动力。什么?你没有github账号?学习Python怎么可以没有github账号呢,快去注册一个啦!
最后
以上就是单纯发箍最近收集整理的关于Python实践7-布尔值False的全部内容,更多相关Python实践7-布尔值False内容请搜索靠谱客的其他文章。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复