逻辑结算的结果是什么类型?比较运算的值是什么类型?

逻辑运算符如下:

x and y, 如果x为False, 不计算y的值,直接返回x。否则返回y。
x or y, 如果x为True,不计算y的值,直接返回x。否则返回y。
not x, 如果x为False,返回True。否则返回False。

在and和or运算中,python使用了短路计算。即如果x的值已经决定了结果,将不执行y。x和y可以是变量或者表达式。

我们知道Python中,数字,字符串,列表等都能参与逻辑运算。0,空字符串,空列表当作False;而非空值当作True。

所以需要注意的是:and和or的运算结果不一定是布尔类型!具体类型是由返回的x或y决定的。只有not操作返回的才一定是布尔类型!

运算符"=="与"="的区别 "=="是关系运算符,用与比较运算符两边给的操作数是否相等。比较结果为boolean类型。
赋值运算符 ,是一个是将右边的值赋值给左边的变量。

原文地址:https://www.cnblogs.com/q2546/p/11395598.html