卢鹏博
发布于 2025-06-21 / 2 阅读
0
0

Python学习笔记(四)—— 逻辑运算符

在Python中,变量不仅可以进行数值运算,也可以进行逻辑运算。

&

按位与,即将两个数字转化为二进制,然后每位相比较(从右往左,位数不够补0)。如果这一位都是1,那么得到结果的这一位也是1(二进制下)。最后将结果拼接起来,转换为十进制即得结果。

例:14&20

先把14和20转为二进制,为(0)111010100 ,然后逐位对比:

得到00100 (二进制),转化为十进制即4。

|

按位或,即对比二进制相同位,如果有1则结果的这一位为1。

仍以14和20为例,这时候得到的二进制结果为11110 ,十进制下为30。

^

按位异或,如果对应二进制那位相同得0,不同为1,拼接起来得到二进制结果,最后再转为十进制。

仍以14和20为例,这时候得到的二进制结果为11010 ,十进制下为26。

==

逻辑判断,只有左右两边完全相等时返回True,其余情况返回False

!=

不等判断,和==刚好相反,当左右两端不相等时返回True,相等时返回False

and

且(相当于C语言的&&),只有当左右两个条件都为真时才返回True(或1),其余情况返回False(或0)。

or

|类似,左右两边有一个为True则返回True(或1)。

not

取反。

一个实用的例子

还记得交换a,b值的例子吗?那时我们引进了第三个变量作为中间变量,进而交换a,b的值。

实际上我们不需要引进第三个变量,甚至可以只有一种逻辑运算符即可。

我们有以下方法可以交换a,b的变量:

加减数值运算

a = 3
b = 4

a = a + b
b = a - b  
a = a - b  

异或逻辑运算

a = 3
b = 4

a = a ^ b
b = a ^ b  
a = a ^ b  

元组

a = 3
b = 4

a,b = b,a

后记

读者可自行组合练习使用上述逻辑,体会它们的区别与联系。



评论