漫星闪 发表于 2022-8-17 13:38:07

第八节课:短路逻辑和运算符优先级

本帖最后由 漫星闪 于 2022-8-17 13:52 编辑

Hello,大家好,我是漫星闪,如你所见,我是一个日更的优质肝帝,欢迎你来到我的笔记系列:https://fishc.com.cn/forum.php?mod=collection&action=view&ctid=1994&fromop=my

1.餐前食物(在笔记开始之前,先给大家垫垫肚子吧!)
短路逻辑,一种反人类但高效率的逻辑,注意,很多人会把它联想到短路,划重点:一个是逻辑,一个是电流出事啦!它们半分钱关系都没有。
运算符优先级,相当于我们说的先乘除后加减,不过Python中的运算符更多,涉及的内容也更多。
思考题开始:(not 1) or (0 and 1) or (3 and 4) or (5 and 6)
or (7 and 8 and 9)
4
这就有意思了,它既像上节课小甲鱼挖的坑,又设计到各种运算符优先级,这就要进入这节课的正餐部分了。

2.正餐开始!
上节课的我们学到的 2 个运算符:and 和 or,在 Python 对运算符的各种规定中,短路逻辑非常奇怪,它可谓是彻彻底底的做到了极客精神:方便。它的核心是:从左往右,只有当第一个操作数的值无法确定逻辑运算的结果时,才对第二个操作数进行求值。可以算是对逻辑运算的优化吧,减少了一次无意义的运算,如果在大项目里,其作用就非常明显了,毕竟一寸内存一寸金嘛!
记得小甲鱼挖的坑吗?3 and 4
4

3 or 4
3
运用短路逻辑来解释,第一道题的意思就是 and 运算符的要求是两边同时为真,而 3 的结果为真,结果就由 4 决定了,所以 Python 不再运算,而是直接抛出了结果 4 。第二题也是如此,因为 or 运算符只要一边为真,所以决定结果的就是 3 。
上面的结果都是 True 的,那我们再试一次 False 的0 or 9
9
细细品味一下,因为 0 已经为 False 了,所以结果由 9 决定。0 and 1
0
因为第一个值就是 False,所以直接拿出 0 就好了。

回到思考题,因为 3 and 4 结果为 4,or 运算符遇见了 4 这个为 True 的结果,自然只用将 4 扔出来就好了。

讲到运算符优先级了,话不多说,下面的图按从高到低列出了 Python 的运算符优先级优先级https://pic4.zhimg.com/v2-bb32caff48ad4376524c53f45170a7ab_r.jpg。

3.饭后甜点
最后来养眼:https://upload-bbs.mihoyo.com/upload/2020/11/30/73756022/17c17ee7e552dbf376a2e322bed9ed5c_8056670578026559565.png?x-oss-process=image/resize,s_600/quality,q_80/auto-orient,0/interlace,1/format,png崩坏3 琪亚娜

hveagle 发表于 2022-8-17 15:49:05

怎么又是一篇无人篇呢{:10_292:}

漫星闪 发表于 2022-8-17 16:10:33

我也不想哪!

hveagle 发表于 2022-8-17 18:08:14

本帖最后由 hveagle 于 2022-8-17 18:17 编辑

漫星闪 发表于 2022-8-17 16:10
我也不想哪!

好吧 明天看看。。。

后天我成都品牌成立50009年了

C 1 成都品牌资料贴(2022年8月)
https://fishc.com.cn/thread-216588-1-1.html

漫星闪 发表于 2022-8-18 08:38:54

这个做什么的呀

hveagle 发表于 2022-8-18 10:15:05

漫星闪 发表于 2022-8-18 08:38
这个做什么的呀

点下面的[成都] 6 成都带你学Python

hveagle 发表于 2022-8-19 14:52:19

本帖最后由 hveagle 于 2022-8-23 09:58 编辑

到这里怎么还是一篇无人篇呢? {:10_292:}{:10_292:}{:10_292:}{:10_292:}{:10_292:}{:10_292:}{:10_292:}{:10_332:}{:10_332:}{:10_332:} (七杀)7天了
                                                 17      18      19         20         21         22         23       24       25       26

hveagle 发表于 2022-9-10 08:59:47

8月:15天 17-31
9月:10天 1-10
加在一起:15+10=25天
25天了为什么还是1篇无人篇呢?
页: [1]
查看完整版本: 第八节课:短路逻辑和运算符优先级