<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>