Python学习笔记(1)
来源:互联网 发布:淘宝旺旺自动回复链接 编辑:程序博客网 时间:2024/06/17 19:15
在Python中,布尔类型还可以与其他数据类型做 and、or和not运算,请看下面的代码:
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 运算的一条重要法则:短路计算。
在计算 a and b 时,如果 a 是 False,则根据与运算法则,整个结果必定为 False,因此返回 a;如果 a 是 True,则整个计算结果必定取决与 b,因此返回 b。
在计算 a or b 时,如果 a 是 True,则根据或运算法则,整个计算结果必定为 True,因此返回 a;如果 a 是 False,则整个计算结果必定取决于 b,因此返回 b。
所以Python解释器在做布尔运算时,只要能提前确定计算结果,它就不会往后算了,直接返回结果。
0 0
- Python学习笔记(1)
- Python 学习笔记(1)
- python 学习笔记(1)
- python学习笔记(1)
- python学习笔记(1)
- Python 学习笔记(1)
- Python学习笔记(1)
- python学习笔记(1 )
- python学习笔记(1)
- python学习笔记(1)
- python 学习笔记(1)
- python学习笔记(1)
- Python学习笔记(1)
- Python学习笔记(1)
- Python 学习笔记(1)
- Python学习笔记(1)
- python学习笔记-(1)
- Python学习笔记(1)
- baidu差最小的有多少对呢?差最大呢?
- linux常用命令
- 167. Two Sum II
- 堆排序Heapsort(附堆排序程序)
- 剑指offer-43.左旋转字符串
- Python学习笔记(1)
- linux重定向及nohup不输出的方法
- 遗传算法入门例子和总结
- 数据库事务的四大特性以及事务的隔离级别
- linux下ls命令模拟
- 函数指针做函数参数浅析
- 分治法:数字旋转方阵
- 规定输入的字符串中,只能包含字母和*号,编写函数fun(char *a),其功能是:将字符串前、后的连续*号全部删除。主函数中输入字符串,调用函数,并输出结果字符串。例如:若字符串中的内容为: ***
- linux下Python源码包编译以及遇到的问题