2024年06月15日 晴
封面图
这是今年3月初,我在 广东 海心桥 上拍的照片。(PS:当时在出差,返程前的最后一晚特地从佛山坐地铁过去看的)
Python 运算符有感
最近在看 韩顺平老师 的课程学习 Python,在学到 运算符 时,其中的一段内容让我很有感触,内容如下:
# @Version : 1.0
# @Author : 韩顺平
# and x and y 布尔"与" : 如果 x 为 False,x and y 返回 x 的值,否则返回 y 的计算值。 (a and b) 返回 20
# or x or y 布尔"或" : 如果 x 是 True,它返回 x 的值,否则它返回 y 的计算值。 (a or b) 返回 10
# not not x 布尔"非" : 如果 x 为 True,返回 False 。如果 x 为 False,它返回 True。 not(a and b) 返回 False
#
这一段引发了一个思考,虽然之前我在写 shell 脚本的时候,使用 if 判断时 与 或 非 用的也蛮多,但是一直以为就是单纯的 True 或者 False,但是听了这个课才知道他底下原来是返回的具体执行 计算值。(这里有个前提,判断内的值是 0 就是 False,其他的都是 True)
对于 与,当 x 为真时,他直接范围 y 的值,是因为 x 已经为真了,x 是什么值都无所谓了,当前这个判断是真还是假的关键点在于 y 是真是假,所以返回了 y 的值。
对于或,当 x 为真时,他就不需要再去管后面的 y 是啥了,因为整个判断条件已经是真了,所以直接返回 x 的值就完事了。
非 的话就是调个头,这个没啥理解上的出入。
虽然是一些比较简单的东西,但是他的底层机制颠覆了我之前的认知(错误的理解,但是结果是一样的..),所以再此记录一下。