课程
/后端开发
/Python
/python进阶
问下各位代码中的and为什么不能替换成&,非常感谢
2018-11-24
源自:python进阶 2-10
正在回答
& 是位运算;and 是逻辑运算。
a = 1
#a的十进制是1,二进制是01
b = 2
#b的十进制是2,二进制是10
a & b
#对a和b的二进制进行位运算,即,01&10 = 00,转换成十进制之后,为0
a and b
#对a和b进行逻辑与运算,a = 1为真,b = 2为真,返回b,即 a and b = 2
短路计算:
a and b,a为False,返回a,a为True,返回b
a or b,a为False,返回b,a为True,返回a
Python解释器在做布尔运算时,只要能提前确定计算结果,就不会继续往后计算,直接返回结果
举报
学习函数式、模块和面向对象编程,掌握Python高级程序设计