做个sqlboy 2022-07-11 21:49 采纳率: 80%
浏览 25
已结题

运算符的使用以及返回值的确定

0 or 1 and True
为什么返回True,而不是1

a = 0 or 1 and True
print(a)

  • 写回答

2条回答 默认 最新

  • 快乐小土狗 2022-07-11 22:37
    关注

    在python中,and, or运算符不返回布尔值。他们返回最后评估的东西。
    x or y:如果x为假,则为y,否则为x
    x and y:如果x为假,则为x,否则为y,x、y都真则为y。
    也就是说,0 or 1 and True:
    and优先级高级or :
    1 and True:它先判断1是不是真,是,然后判断True是不是真,是,返回最后的真值(最后评估的东西):True。
    0 or True:它先判断1是不是真,不是,再去判断True是不是真,是,返回最后的真值。
    当你变成1 or 1 and True:同理反1(1 or True,1为真了,后面的条件不需求去判断了,直接返回评估的东西)

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 7月21日
  • 已采纳回答 7月13日
  • 创建了问题 7月11日