zoukankan      html  css  js  c++  java
  • python中not、and、or的优先级

            <div class="article-info-box">
                <div class="slide-content-box">
                                                                                                                                                    
                                                                                </div>
            </div>
        </div>
    </div>
    <article class="baidu_pl">
        <!--python安装手册开始-->
                <!--python安装手册结束-->
                 <div class="article_content clearfix" id="article_content">
            <!--一个博主专栏付费入口-->
                          <!--一个博主专栏付费入口结束-->
            <link href="https://csdnimg.cn/release/phoenix/template/css/ck_htmledit_views-833878f763.css" rel="stylesheet">
                                        <link href="https://csdnimg.cn/release/phoenix/template/css/ck_htmledit_views-833878f763.css" rel="stylesheet">
                <div class="htmledit_views" id="content_views">
                                            <p>今晚做题的时候,看到一道关于优先级的题目,我顿时蒙了???</p>
    

    为什么 0 and 1 返回的是0?为什么 3 and 4却返回的是4?

    天呐?这到底是为什么???不知道初学的小白是否也有着跟我一样的困惑?

    经过不停的翻阅资料,看大牛们的博客,我顿时明白了

    首先要知道优先级顺序:not>and>or

    其次要知道在Python中所有的空字符串都是假,非空字符串都是真,非零的数字都是真。要重点记住!

    接着要知道下面这几个知识点!敲黑板划重点啦

    对于and:

    • 只要左边的表达式为真,那么整个表达式返回的是右边表达式的值,否则返回的是左边表达式的值
    • 换言之,x and y 的值只能是x 和 y,x为真时就是y,x为假就是x

    对于or

    • 只要两边的表达式都为真,整个表达式的结果返回的是左边表达式的值;
    • 如果一真一假,返回真值表达式的值;
    • 如果两个值都假,比如空值和0,返回的是右边的值(空值或0)
    • 换言之,x or y 的值只可能是 x 和 y,x为真就是x,x为假就是y

    对于not x:

    • x为假,输出True
    • x为真,输出False

    emmm...看起来,x and y 与 x or y 的返回结果是相反的

    下面举栗子来详细说明:

    (False or 5)输出5                #False为假,在or中,x为假—>输出y

    (5 or False)输出5                #5为真,在or中,x为真—>输出x

    (0 or False)输出False         # 0是假 

    (True or 3)输出True            #True为真

    (2 or True)输出2                 #2为真

    (0 or True)输出True            #0为假

    (True or False)输出True     #True为真

    (True and  4)输出4             #True为真,在and中,x为真—>输出y

    (1 and True)输出True         #1为真

    (False and 1)输出False      #False为假,在and中,x为假—>输出x

    (1 and False)输出False      

    (0 and  True)输出0

    (not 3)输出False                #3为真,在not中,x为真—>输出False

    (not 0)输出True             

    注意:布尔类型bool是特殊的整型,True相当于1,False相当于0

                            </div>
                    </div>
    </article>
    
    版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
    本文链接:https://blog.csdn.net/dafeidouzi/article/details/98992689
  • 相关阅读:
    springtools插件的安装
    Spring--Bean的配置
    BS模式与CS模式的区别
    AMD 和 CMD 的区别有哪些?
    js中import和require的区别
    6个最优秀的微信小程序UI组件库
    微信小程序获取formid
    NodeJs 实现简单WebSocket 即时通讯
    NodeJS怎么实现WebSocket功能
    NodeJs实现WebSocket——express-ws
  • 原文地址:https://www.cnblogs.com/mmit/p/12048790.html
Copyright © 2011-2022 走看看