为了账号安全,请及时绑定邮箱和手机立即绑定

感觉这个输出不对

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

正在回答

5 回答

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

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

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"

0 回复 有任何疑惑可以回复我~

先算与再算或吧

0 回复 有任何疑惑可以回复我~

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

0 回复 有任何疑惑可以回复我~
#1

吃颗糖壮壮胆

因为a是True,所以or后面就不执行了,输出True
2019-10-10 回复 有任何疑惑可以回复我~
a =True
b=None
print a or 'a=123' and b


0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
初识Python
  • 参与学习       758625    人
  • 解答问题       8667    个

学python入门视频教程,让你快速入门并能编写简单的Python程序

进入课程

感觉这个输出不对

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信