Python逻辑运算符AND

时间:2013-08-12 19:38:41

标签: python operator-keyword

我对Python中的逻辑运算符得到的结果有点困惑。我是一名初学者,正在学习使用几本书,但他们并没有像我想的那样详细解释。

这是我自己的代码:

five = 5
two = 2

print five and two

>> 2

似乎只是输出两个变量。

five = 5
two = 2
zero = 0

print five and two and zero

所以,我添加了另一个变量整数。然后我打印并得到以下输出:

>> 0

Python在后台发生了什么?为什么输出不像7或5,2。

7 个答案:

答案 0 :(得分:41)

Python布尔运算符返回最后计算的值,而不是True / False。 docs对此有一个很好的解释:

  

表达式x and y首先评估x;如果xfalse,则返回其值;否则,将评估y并返回结果值。

答案 1 :(得分:4)

作为一个旁注:(我没有足够的代表注释)打印多个变量不需要AND运算符。您可以使用逗号分隔变量名称,例如print five, two而不是print five AND two。您还可以使用转义将变量添加到打印行,例如print "the var five is equal to: %s" %five。更多相关内容:http://docs.python.org/2/library/re.html#simulating-scanf

像其他人一样说过AND是一个逻辑运算符,用于将多个条件串起来,例如

if (five == 5) AND (two == 2):
    print five, two

答案 2 :(得分:3)

Boolean如果求值的表达式为5,则运算符将返回第一个值false,如果求值的表达式为2,则运算符将返回第二个值true。由于52都是真值,非假值和非空值,因此表达式的计算结果为true。

如果你想打印两个变量,你可以将它们连接到一个字符串并打印出来。

five = 5
two = 2
print five + " and " + two

或者打印他们可以使用的金额

print five + two

这个document解释了如何使用逻辑布尔运算符。

答案 3 :(得分:1)

Python中的AND等同于Java中的&&。这并不意味着英语和英语。 AND是一个逻辑运算符。假设五个持有5和两个持有2.从Python文档:表达式x和y首先计算x;如果x为false,则返回其值;否则,将评估y并返回结果值。基本上,它会计算您案例中的最后一个整数,即

if (five and two):
...     print "True"
... else:
...     print "False"

AND是一个逻辑运算符,用于测试特定情况的逻辑,而不是算术运算符。如果你想得到像5和2的结果,你应该使用“+”,这意味着添加两个整数。见下文:

>>> five = 5
>>> two = 2
>>> print five + two
7

答案 4 :(得分:1)

尝试09

结果为0,因为0的值为false。 and运算符左侧的操作数为False,因此整个表达式为False并返回0

答案 5 :(得分:0)

在Python中,任何非零整数值都为真;零是假的。

OP的值都不为零。

AND运算符从左到右进行测试,

with和,如果所有值都为True,则返回最后一个评估值。  如果任何值为false,则返回第一个值。

由于两者都不为零,两者都为真,因此返回最后一个值

答案 6 :(得分:-2)

要将整型变量转换为字符串,请在每个变量前添加str

五 = 5 两个 = 2

print(str(five) + " and " + str(two))