• 查缺补漏 -- 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好用太多了,强烈建议还没装的装一个~

  • 相关阅读:
    UVa 541 Error Correction
    UVa 11045 My T-shirt suits me
    【模板】Ford-Fulkerson算法
    POJ 1273 Drainage Ditches
    UVa 10158 War
    UVa 658 It's not a Bug, it's a Feature!
    【模板】并查集
    【模板】Floyd-Warshall算法
    UVa 10034 Freckles
    UVa 10048 Audiophobia
  • 原文地址:https://www.cnblogs.com/slientbrain/p/13033480.html
Copyright © 2020-2023  润新知