zoukankan      html  css  js  c++  java
  • 【Python】从1<2<3的语法糖说起[转帖]

    原帖地址:https://www.cnblogs.com/yanglang/p/7992700.html

    python有一个很有意思的语法糖你可以直接写1<2<3。

    这复合我们通常意义上的数学不等式,但对学过C等语言其实是有疑惑的。

    我们知道不等式返回的其实是个Bool值,在C中是1,0因此C中下面情况是正确的

    0<0<1

    因此我们看下面这个情况

    True == True == False
    #False
    False == False == True
    #False

    从通常意义来说==号从右往左结合,无论如何值都应该是True,但是结果确是False

    这就是源于python的一个语法糖,对于运算优先级的规定。

    所有比较类型的运算符拥有同样的优先级,会从左至右链接起来共同作为一个比较段( all have the same precedence and have a left-to-right chaining feature as described in the Comparisons section)。

    in, not in, is, is not, <, <=, >, >=, !=, ==

    比如一个典型的True == True == False它实质是如下的逻辑关系

    (True == True) and (True == False)

    对于 a<b<c这种关系中的任意子项都满足其逻辑关系,和数学上a<b<c是一样的
    即对a<b<c,a需满足a<b and a

  • 相关阅读:
    APK中java代码反编译
    android应用分析之apk文件结构
    2016第8周五
    优秀前端需要具备的经验
    postgreSQL数据类型转换字符串和数值
    架构设计要考虑的几个方面
    2016第8周一
    常见的交互设计方法
    开源项目使用经验原则
    ExtJS与JQuery对照
  • 原文地址:https://www.cnblogs.com/sidianok/p/14631366.html
Copyright © 2011-2022 走看看