首页 » 信息技术 »

Python的and和or运算符

2019年5月21日 / 30次阅读
Python

对于条件判断中的and和or,我们都很熟悉。不过这不是Python中的and和or运算符的全部用法。

网络上有人介绍Python的and和or是特有的短路运算符(这里短路有跳过的含义):

1. 表达式从左至右运算,若 or 的左侧逻辑值为 True ,则短路 or 后所有的表达式(不管是 and 还是 or),直接输出 or 左侧表达式 。

2. 表达式从左至右运算,若 and 的左侧逻辑值为 False ,则短路其后所有 and 表达式,直到有 or 出现,输出 and 左侧表达式到 or 的左侧,参与接下来的逻辑运算。

3. 若 or 的左侧为 False ,或者 and 的左侧为 True 则不能使用短路逻辑。

好像是这么回事,下面是一些测试代码:

>>> None or 20
20
>>> 10 or 20
10
>>> 50 or 20
50
>>> type(50 or 20)
<class 'int'>

or连接起来的表达式,返回的是从左到右第一个为true的表达式;

>>> None and 20
>>> 10 and 20
20
>>> 50 and 20
20
>>> type(50 and 20)
<class 'int'>

and 连接的表达式,从左到右,返回第一个false,或者最后一个true。

这种表达式,可以用于某些情况下的赋值:

>>> a = 1
>>> b = 2
>>>
>>> a*2-b and 1
0
>>> c = a*2-b and 1
>>> c
0
>>> c = a*2-b or 1
>>> c
1

本文链接:https://www.maixj.net/ict/python-and-or-21459

相关文章

留言区


前一篇:
后一篇:

栏目精选

云上小悟,麦新杰的独立博客

Ctrl+D 收藏本页

栏目


©Copyright 麦新杰 Since 2014 云上小悟独立博客版权所有 备案号:苏ICP备14045477号-1。云上小悟网站部分内容来源于网络,转载目的是为了整合信息,收藏学习,服务大家,有些转载内容也难以判断是否有侵权问题,如果侵犯了您的权益,请及时联系站长,我会立即删除。

网站二维码
go to top