做个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日

悬赏问题

  • ¥15 三因素重复测量数据R语句编写,不存在交互作用
  • ¥15 微信会员卡等级和折扣规则
  • ¥15 微信公众平台自制会员卡可以通过收款码收款码收款进行自动积分吗
  • ¥15 随身WiFi网络灯亮但是没有网络,如何解决?
  • ¥15 gdf格式的脑电数据如何处理matlab
  • ¥20 重新写的代码替换了之后运行hbuliderx就这样了
  • ¥100 监控抖音用户作品更新可以微信公众号提醒
  • ¥15 UE5 如何可以不渲染HDRIBackdrop背景
  • ¥70 2048小游戏毕设项目
  • ¥20 mysql架构,按照姓名分表