什么是';和';N';或';在python中是什么意思?

什么是';和';N';或';在python中是什么意思?,python,Python,我现在真的很困惑,在我的程序思想模型中,如果你遇到这样一个表达式 expr=expr1和expr2 这意味着expr的类型必须是Boolean,与“or”操作相同 请参阅下面的代码,假设这三行将打印布尔值 print(1==1 and 3) print(1==2 and 3) print(1==2 and 3 or 4) 但结果是 3 False 4 我必须重新学习基本编程: 和或的真正含义 “e1和e2”表示如果结果为False,则评估e1,否则返回False,否则返回e2 “e1或e2”

我现在真的很困惑,在我的程序思想模型中,如果你遇到这样一个表达式

expr=expr1和expr2

这意味着expr的类型必须是Boolean,与“or”操作相同

请参阅下面的代码,假设这三行将打印布尔值

print(1==1 and 3)
print(1==2 and 3)
print(1==2 and 3 or 4)
但结果是

3
False
4
我必须重新学习基本编程:

和或的真正含义 “e1和e2”表示如果结果为False,则评估e1,否则返回False,否则返回e2 “e1或e2”表示如果结果为真,则计算e1返回真,否则返回e2


我做对了吗?

这就是Python的工作原理,显然是为了增加opperand类型的灵活性

从Python文档:

表达式x和y首先计算x;如果x为false,则返回其值;否则,计算y并返回结果值

表达式x或y首先计算x;如果x为true,则返回其值;否则,计算y并返回结果值


Python就是这样工作的,显然是为了增加opperand类型的灵活性

从Python文档:

表达式x和y首先计算x;如果x为false,则返回其值;否则,计算y并返回结果值

表达式x或y首先计算x;如果x为true,则返回其值;否则,计算y并返回结果值


这种行为实际上与布尔逻辑本身无关。相反,它是Python特有的。而不是总是返回
True
/
False
以及
返回两个操作数之一的值


下面是一个很好的解释:。

这种行为实际上与布尔逻辑本身无关。相反,它是Python特有的。而不是总是返回
True
/
False
以及
返回两个操作数之一的值

下面是一个很好的解释:。

你不必学习“基本编程”;您必须学习Python中定义的
运算符

您关于布尔逻辑真值表的想法是正确的,但在Python中,这些运算符不需要布尔参数,也不返回布尔值

请参阅,但请记住
x
y
可以有任何类型。这也有助于了解。

你不必学习“基本编程”;您必须学习Python中定义的
运算符

您关于布尔逻辑真值表的想法是正确的,但在Python中,这些运算符不需要布尔参数,也不返回布尔值


请参阅,但请记住
x
y
可以有任何类型。这也有助于了解。

为什么会投否决票?这似乎是个合法的问题。为什么要投否决票?这似乎是个合法的问题。