请解释我打印(真>假)和打印(假>真)

时间:2021-04-17 18:05:52

标签: python boolean boolean-logic boolean-operations

我写了一段代码

print(False>True)
print(True>False)

结果是

False
True

谁能解释一下这是怎么回事

4 个答案:

答案 0 :(得分:3)

在 Python 中,当您在大于/小于比较中使用布尔值时,它们会自动被视为数字,因此 True 变为 1False 变为 0。替换它们,答案就显而易见了:

print(0 > 1)
print(1 > 0)

第一个检查是 False,第二个检查是 True

答案 1 :(得分:1)

布尔值也是整数并且有一个整数值:

>>> type(False)
<class 'bool'>
>>> bool.mro()  # base classes include integer
[<class 'bool'>, <class 'int'>, <class 'object'>]
>>> int(False)
0
>>> int(True)
1

所以 False(0) 大于 True(1),True(1) 大于 False(0)。

答案 2 :(得分:0)

您基本上是在打印 0 (False) 是否大于 1 (True),即为 False,然后对于第二个语句反之亦然

答案 3 :(得分:0)

<块引用>

布尔结果总是为假返回 0 或 False,为真返回 1 或 True

来自:Py Doc

为了更清楚:

>>> False
False
>>> False>True
False
>>> 0>1
False
>>> True>False
True
>>> 1>0
True
相关问题