• 已解决 73482 个问题
  • 已帮助 5993 位优秀工程师

python判断式

9604a3b72d92b876 2019-04-04 浏览量:619

这是一个非常有趣的问题,我们知道一般来说 True=1 False=0

在python里面 1>0==False 的结果是True,如果运算顺序是(1>0)==False或者1>(0==False)都说不通吧?

大家知道是什么原因吗?


0 0 收起

我来回答

上传资料:
选择文件 文件大小不超过15M(格式支持:doc、ppt、xls、pdf、zip、rar、txt)
最佳答案
  • python是比较特殊支持链式对比的编程语言,所以你的  1>0==False 实质是 1>0 and 0==false

    类似的还有 100 < a <200 这样的链式判断表达式,这样的表达式意义更符合原始数学类式的形式。

    • 发布于 2019-04-05
    • 举报
    • 评论 0
    • 1
    • 0

其他答案 数量:3
  • 你这个思维是不是掉进面向过程的思维里了,为什么说python更符合人类语法阅读习惯呢?就体现在这里了。

    用数学的方式理解 a=0;1 > a = 0 这个表达式是成立的,所以运算结果为True

    • 发布于2019-04-05
    • 举报
    • 评论 0
    • 1
    • 0

  • 这种表达式跟C语言那些不一样,它的意思等价于(1>0 && 0==False)

    这个跟运算优先级无关的,所有语言的运算优先级都是一样

    • 发布于2019-04-05
    • 举报
    • 评论 0
    • 1
    • 0

  • 你这样写是一个链式对比的例子,实际表达是1>0and0==false那么他的返回两个都是真,所以and后也是真,

    你后面两个加了括号说法实际返回值都是false

    • 发布于2019-04-05
    • 举报
    • 评论 0
    • 0
    • 0

相关问题

问题达人换一批

python判断式