为什么在Python中'a'和'b'等于'b'?

时间:2019-05-06 19:51:16

标签: python python-3.x

Python中的'a' and 'b'是什么意思,为什么等于'b'?为什么不等于'a'

>>> 'a' and 'b'
'b'

2 个答案:

答案 0 :(得分:2)

来自Pycharm文档:

  

表达式x和y首先计算x;如果x为假,则返回其值;否则,将评估y并返回结果值。

因为'a'不是False'b'被求值并返回。

也很高兴知道。什么被评估为是,什么被评估为:

  

以下值解释为false:False,None,所有类型的数字零,空字符串和容器(包括字符串,元组,列表,字典,集合和Frozensets)。所有其他值都解释为true。

答案 1 :(得分:1)

'a''b'都是'a' and 'b'的可接受答案(因为两者都是真实的),但是只有False是{{1}的可接受答案},就像'a' and False0的可接受答案一样(因为此评估结果在逻辑上必须正确,所以必须为false)。

当左手为true时,短路布尔值计算遵循右手路径,这样就可以在所有情况下应用一条规则。