python中and、or与c、c++、java中&&、||区别(附python and、or各类情况运算结果)

相同点:在两侧均为逻辑值时两者用法没有区别,即两边为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'

码子不易,点个赞鼓励一下呗!

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。