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,下班了。

  • 相关阅读:
    console一闪而过的解决办法
    关于return
    各种js验证(笔记本)
    订单号的生成
    linux之cp/scp命令+scp命令
    11111111111
    Servlet中Web.xml文件的配置
    maven pom.xml详解
    环形缓冲区类(C++)附测试程序(转)
    环形缓冲区类(C++)绝对可用(转)
  • 原文地址:https://www.cnblogs.com/yizimei/p/8043424.html
Copyright © 2011-2022 走看看