python中的逻辑AND运算

时间:2019-06-09 17:46:16

标签: python python-3.x logical-operators

此表达式在Python中如何工作?

x=1, y=2, z=3 
print(x and y and z)

结果为3

如果

x=3, y=2, z=1
print(x and y and z)

结果为1

任何人都可以解释吗?

2 个答案:

答案 0 :(得分:0)

python中的

or运算符返回第一个参数,它被认为是true,否则返回第二个。这两个值都不会转换为布尔值。 and运算符将返回第一个参数(如果认为是错误的),否则返回第二个。再次没有转换。

如果a or ba,则bool(a) == Trueb 如果a and ba

,则bool(a) == Falseb

编辑: 编辑了我的错误-我切换了andor

答案 1 :(得分:0)

在逻辑测试中,返回的值是最后评估的值。 因此,在第一个测试==> print(1 and 2 and 3)中,我们得到的答案是3,因为它是测试的最后一个真值。 在第二个测试==> print(3 and 2 and 1)中,类似的答案是1