zoukankan      html  css  js  c++  java
  • 运算符的优先级,py的执行方式

    运算符执行方式 

    运算符都是有优先级的,py也是。

    () 》not 》and 》or                         

    例题如下:

    0 or 1 and 2                #结果输出是 2      说明 and 》 or
    not False and True          #结果输出 True     说明 not 》and
    not (False or True)         #结果输出 False    说明()》not

    如果再深入一点了解,想知道py是怎么运行这些代码的,来看看他的心路历程

    0 or False      #结果是 False
    False or 0      #结果是 0
    1 or 我就是bug    #结果是 1

    为什么前两行代码结果不一样?

    为什么 bug 都没有发现?

    因为 or 是要找到一个 True 就会输出 True,我们把py想成一个很懒的人

    当他看到  or 命令时,他只找True,其他的不管。

    第一行代码:看到 0 了,不管。 看到False了,那这行代码没有 我要的True,那我就输出我最后看到的东西  False。

    第二行代码:同上,最后看到的是0 那就返回0

    第三行代码:注意这里有个 bug ,可是却正常输出数据。为什么?因为py懒,当他看见1时,OK了,这就是他要的True。输出 1,下班了。

  • 相关阅读:
    二叉树的存储结构
    面试Java需要的知识总结
    EJB总结
    WEB 容器、WEB服务和应用服务器的区别与联系
    Linux安装JBOSS
    JBOSS和WebLogic区别
    深入浅出JMS(一)--JMS基本概念
    Java缓冲流细节
    xor和路径(codevs 2412)
    外星千足虫(bzoj 1923)
  • 原文地址:https://www.cnblogs.com/yizimei/p/8043424.html
Copyright © 2011-2022 走看看