python布尔类型关于and和or用法说明马克
2017-02-20 15:34
561 查看
在Python中,布尔类型还可以与其他数据类型做 and、or和not运算,请看下面的代码:
计算结果不是布尔类型,而是字符串 'a=T',这是为什么呢?
因为Python把
True,所以:
要解释上述结果,又涉及到 and 和 or 运算的一条重要法则:短路计算。
1. 在计算
2. 在计算
所以Python解释器在做布尔运算时,只要能提前确定计算结果,它就不会往后算了,直接返回结果。
来自慕课网 马克一下
a = True print a and 'a=T' or 'a=F'
计算结果不是布尔类型,而是字符串 'a=T',这是为什么呢?
因为Python把
0、
空字符串''和
None看成 False,其他数值和非空字符串都看成
True,所以:
True and 'a=T' 计算结果是 'a=T' 继续计算 'a=T' or 'a=F' 计算结果还是 'a=T'
要解释上述结果,又涉及到 and 和 or 运算的一条重要法则:短路计算。
1. 在计算
a and b时,如果 a 是 False,则根据与运算法则,整个结果必定为 False,因此返回 a;如果 a 是 True,则整个计算结果必定取决与 b,因此返回 b。
2. 在计算
a or b时,如果 a 是 True,则根据或运算法则,整个计算结果必定为 True,因此返回 a;如果 a 是 False,则整个计算结果必定取决于 b,因此返回 b。
所以Python解释器在做布尔运算时,只要能提前确定计算结果,它就不会往后算了,直接返回结果。
来自慕课网 马克一下
相关文章推荐
- Python中AND-OR的用法
- python关键字and和or用法实例
- python中and和or的用法
- 关于Python的and, or ,not
- python and和or的用法
- Python and-or例子说明
- python 中 and 和 or 的用法
- python关键字and和or用法实例
- python中and和or的用法
- Python 学习系列(2)and、or用法
- python and 和 or的用法
- python中关于 and 与or的优先级举例
- python中 and和or用法
- 无意学会了python中and和or的有趣用法
- python关键字and和or用法实例
- python and-or 用法
- 关于python报错:TypeError: unsupported operand type(s) for +=: 'builtin_function_or_method' and 'int'
- 【python】and和or的用法
- python中and和or的用法
- 关于Python的super用法研究