为了账号安全,请及时绑定邮箱和手机立即绑定
关注
慕九州831970

感觉这个输出不对

a =True b=None print a or 'a=123' and b为啥输出结果是True

2019-10-10 源自:初识Python 3-9 434 浏览 5 回答
a =True
b=None
print a or 'a=123' and b


2019-10-10
回复 0

是因为or结果为true时,就结束了不再往下执行了对吗

2019-10-10
回复 0

吃颗糖壮壮胆

因为a是True,所以or后面就不执行了,输出True
#1 2019-10-10 回复

先算与再算或吧

2019-10-16
回复 0

print "---"
print 'b=ABC' and 'b=F11'

b = False
print b or 'b=ABC' and 'b=F11'

print "---"
print 'a=123' and "a=111"
a =True
print a or 'a=123' and "a=111"

2019-11-16
回复 0

所以Python解释器在做布尔运算时,只要能提前确定计算结果,它就不会往后算了,直接返回结果。

而涉及到or的计算时,有一个为true,结果就为true。你的例子中,a已经是true了,所以就不往后计算了

2019-12-05
回复 0

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信