原创Python基础:你真的知道and和or的用法吗

Posted HuaBro

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了原创Python基础:你真的知道and和or的用法吗相关的知识,希望对你有一定的参考价值。

先说下基础题

# 基础题:
# 年龄大于18,则\'成年\',否则\'未成年\'

其中有种写法是

#  方法3:
msg=age>18 and \'成年\' or \'未成年\'
msg

 

 

和大多数人一样,第一眼看到大脑嗡嗡响,这是啥啊,我怎么看不懂?

 简化版:a and b or c

解释:如果a为真,返回b,否则返回c

 

这里涉及到逻辑短路问题。

用几行伪代码表示如下:

# True and x=x
# False and x=False
# True or x=True
# False or x=x

 

即:如果出现短路,则返回and (或or)左边的值,否则返回右边的值

举个例子:

print(0 and 2) # and短路:取前
print(1 and 2) # and非短路:取后
print(0 or 2) # or非短路:取后
print(1 or 2) # or短路:取前

 

 

 是不是很清晰了。

再次回到前面的问题,and和or同时出现,一般按照从左到右执行

print(1 and 2 or 3) # 左右顺序
print(0 and 2 or 3) # 左右顺序

 

最后,分解步骤,再合起来看,结果是一样的。

 

 

 

 

 

到这里,差不多结束了,是不是很清晰了,你学会了吗?

 

下篇预告:条件语句的N种写法

还是那个未成年和成年的判断

以上是关于原创Python基础:你真的知道and和or的用法吗的主要内容,如果未能解决你的问题,请参考以下文章

Python中and和or运算符的高级用法

Python中的逻辑运算符:'and'与'or'的用法

python and   or

你真的会用搜索吗?—— google 搜索技巧

无意学会了python中and和or的有趣用法

and和or的用法和区别