008 布尔值_比较运算符_逻辑运算符

布尔值_比较运算符_逻辑运算符_短路问题

布尔值
Python2中没有布尔值,直接用0表示False,用数字1表示True
Python3中,把True和False定义成了关键字,但是他们的本质还是1和0,甚至可以和数字相加。

【操作】查看True和False

008 布尔值_比较运算符_逻辑运算符

比较运算符

比较运算符返回1表示真,返回0表示加。这分别于特殊变量True和False等价。以下假设a为15,b为30:
008 布尔值_比较运算符_逻辑运算符

逻辑运算符

008 布尔值_比较运算符_逻辑运算符

同一运算符_整数缓存问题
同一运算符:同一运算符用于比较两个对象的存储单元,实际比较的是对象的地址。
008 布尔值_比较运算符_逻辑运算符

is 与 == 区别:

is 用于判断两个变量引用对象是否为同一个,即比较对象的地址
== 用于判断引用变量引用对象的值是否相等,默认调用对象的__eq__()方法

整数缓存问题
Python仅仅对比较小的整数对象进行缓存(范围[-5,256]),而并非是所有整数对象。需要注意的是,这仅仅是在命令中执行,而在pycharm或保存为文件执行,结果是不一样的,这是因为解释器做了一部分优化(范围是[-5,任意整数])