zoukankan      html  css  js  c++  java
  • 查缺补漏 -- python 之 and or的优先级

      刚才看到一个很有意思的问题,就是关于and和or的优先级运算,因为平时我自己使用and和or的时候基本都是需要返回的布尔值,印象中需要返回其中一个值的时候基本上都是使用三元表达式,所以对and or的优先级比较就不太明了,最多也就知道短路。

      在知乎上看到一个非常简洁明了直观的回答

    其一, 在不加括号时候, and优先级大于or

    其二, x or y 的值只可能是x或y. x为真就是x, x为假就是y

    其三, x and y 的值只可能是x或y. x为真就是y, x为假就是x

    好了,接下来我们算一下

    0 and 2 or 4 or 1 and 5

    按照以上逻辑,计算步骤可以分为以下几步

    计算and:0 or 4 or 5

    逐步计算or,结果是:4

    打开编译器测试以下,没毛病!

    另注,我平时测试使用的是ipython,比自带的IDLE好用太多了,强烈建议还没装的装一个~

  • 相关阅读:
    数据对象映射模式
    策略模式
    适配模式
    注册模式
    单例模式
    工厂模式
    PHP魔法方法的使用
    【转】通过 ulimit 改善系统性能
    HDMI相关知识
    中国三种3G网络频段
  • 原文地址:https://www.cnblogs.com/slientbrain/p/13033480.html
Copyright © 2011-2022 走看看