1、前言
前些天被Python的多线程坑了一把,本篇讲的内容是Python的bool类型。
2、前提
2.1 bool是int的子类
根据PEP285中Review部分第6条所述,bool类是从int类继承而来的,这样可以极大的简化实现(C代码中调用PyInt_Check的地方仍将继续工作)。
2.2 Python2中True/False不是关键字,但Python3中是
我们可以导入keyword模块,来查看关键字:
而在Python3中,关键字中添加了True/False/None。
由于Python2中True/False不是关键字,因此我们可以对其进行任意的赋值:
3. True + True = 2
由于bool是继承自int的子类,因此为了保证向下兼容性,在进行算术运算中,True/False会被当作int值来执行。
4. While 1比While True快?
首先来看一个比较while 1和while True循环的脚本,两个函数中,除了1