逻辑“和”运算符如何处理整数? [复制]
Posted
技术标签:
【中文标题】逻辑“和”运算符如何处理整数? [复制]【英文标题】:How does the logical `and` operator work with integers? [duplicate] 【发布时间】:2018-09-14 10:42:59 【问题描述】:所以,我在玩解释器,并输入以下内容:
In [95]: 1 and 2
Out[95]: 2
In [96]: 1 and 5
Out[96]: 5
In [97]: 234324 and 2
Out[97]: 2
In [98]: 234324 and 22343243242
Out[98]: 22343243242L
In [99]: 1 or 2 and 9
Out[99]: 1
最初我认为它与 False 和 True 值有关,因为:
In [101]: True + True
Out[101]: 2
In [102]: True * 5
Out[102]: 5
但这似乎并不相关,因为 False 始终为 0,从上面的试验看来,它并不是输出的最大值。
老实说,我看不到这里的模式,并且在文档中找不到任何东西(老实说,我真的不知道如何有效地寻找它)。
那么,如何
int(x) [logical operation] int(y)
在 Python 中工作?
【问题讨论】:
我找到了***.com/questions/18195322/… 【参考方案1】:来自 Python 文档:
表达式
x and y
首先计算x
;如果x
为假,则其 返回值;否则,将评估y
并得出结果值 被退回。
这正是您的实验显示的情况。您的所有 x
值都是 true,因此将返回 y
值。
https://docs.python.org/3/reference/expressions.html#and
【讨论】:
【参考方案2】:它适用于 Python 中的每个项目,它不依赖于整数。
not x Returns True if x is False, False otherwise
x and y Returns x if x is False, y otherwise
x or y Returns y if x is False, x otherwise
1 为真,所以它会返回 2
【讨论】:
not x以上是关于逻辑“和”运算符如何处理整数? [复制]的主要内容,如果未能解决你的问题,请参考以下文章