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

and 和or 有优先级么

计算结果不是布尔类型,而是字符串 'a=T',这是为什么呢?

因为Python把0、空字符串''和None看成 False,其他数值和非空字符串都看成 True,所以:

True and 'a=T' 计算结果是 'a=T'
继续计算 'a=T' or 'a=F' 计算结果还是 'a=T'


and 先运算还是 or 先运算 还是 从左到又


正在回答

3 回答

楼上正解,从左到右,碰到能决定结果的因子,程序就不继续运行下去了,直接输出结果。

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

计算顺序是单一,从左到右,比如先有and,后有or,那么计算时,and 为true,就显示结果,如果为false,就继续计算下一步,or也一样。遵循从左到右的顺序。

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

hehehehehehehehe

那什么时候输出true,什么时候输出字符。是因为那个因子是字符,还是什么??
2017-10-31 回复 有任何疑惑可以回复我~

从左到右

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

举报

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

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

进入课程

and 和or 有优先级么

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