相同点:在两侧均为逻辑值时两者用法没有区别,即两边为True或False 或者 是表达逻辑值的表达式(比如3>5)
不同:以下通过举例说明:
情况一:两侧都为数字
c、c++、java中&&: ||
1&&0 结果为0 1||0 结果为1
1&&3 结果为1 0||0 结果为0
python中:
a and b 若a为false 结果为a
若a为true 结果为b
>>> 1 and 3
3
>>> 0 and 3
0
>>> 3 and 1
1
>>> 3 and 0
0
>>> 0 and 1
0
>>> 1 and 0
0
a or b 若a为false 结果为b
若a为true 结果为a
>>> 0 or 1
1
>>> 0 or 3
3
>>> 1 or 0
1
>>> 1 or 3
1
情况二:一侧为数字,一侧为其他类型
数字在前,遵循情况一的结果
字母在前,打印后面数字(不管数字代表是否为true或false)
>>> 'python' and 1
1
>>> 'python' and 0
0
>>> 1 and 'python'
'python'
>>> 0 and 'python'
0
情况二:两侧都为其他类型
打印后面的内容
>>> 'hg' and 'ij'
'ij'
码子不易,点个赞鼓励一下呗!