课程
/后端开发
/Python
/初识Python
如上所述。
2018-09-18
源自:初识Python 3-9
正在回答
and 运算时,如果表达式后面出现or,只会短路掉到or之前的表达式,所以不会直接返回
下面给出了不同情况下的说明(关注粗体部分):
表达式从左至右运算,若 or 的左侧逻辑值为 True ,则短路 or 后所有的表达式(不管是 and 还是 or),直接输出 or 左侧表达式 。
表达式从左至右运算,若 and 的左侧逻辑值为 False ,则短路其后所有 and 表达式,直到有 or 出现,输出 and 左侧表达式到 or 的左侧,参与接下来的逻辑运算。
若 or 的左侧为 False ,或者 and 的左侧为 True 则不能使用短路逻辑。
a = False
print a and 'a=T' or 'a=F'
and 和 or运算等级一样
首先a and 'a=T' 也就是 False and 'a=T' 是为Flase
'a=F' 是为True
那么 a=and 'a=T' or 'a=F' 其实就是False or True ,而False or True 返回是True,所以就返回 'a=F'
慕先生1318795 提问者
举报
学python入门视频教程,让你快速入门并能编写简单的Python程序
购课补贴联系客服咨询优惠详情
慕课网APP您的移动学习伙伴
扫描二维码关注慕课网微信公众号