'and' python3 中的运算符
'and' operator in python3
我对编码还很陌生,但我虽然了解 'and' 运算符的工作原理。在我提供的示例中,我认为 'False' 语句会得到 运行 而不是 'True' 语句。有人能告诉我为什么这没有达到我的预期吗?
string = 'asdf'
if 'z' and 's' in string:
True
else:
False
and
关键字是表达式的一部分,它应该位于两个子表达式之间。这里你写 'z' and 's' in string
它被解释为:
('z') and ('s' in string)
其中第一个子表达式 'z'
或多或少被评估为 True
,而第二个子表达式稍微复杂一些(在您的示例中,它也被称为 True
因为 's'
实际上在 string
.
组合两个子表达式产生 True
(此处)。
你当然想写:
if 'z' in string and 's' in string:
只是在上面的答案的基础上,为了从 if 语句中获得您期望的正确输出,您需要指定 if "z" in string and "s" in string
以便 python 计算 what 的正确含义你打算这样做。
string = 'asdf'
if 'z' in string and 's' in string:
print("True")
else:
print("False")
我对编码还很陌生,但我虽然了解 'and' 运算符的工作原理。在我提供的示例中,我认为 'False' 语句会得到 运行 而不是 'True' 语句。有人能告诉我为什么这没有达到我的预期吗?
string = 'asdf'
if 'z' and 's' in string:
True
else:
False
and
关键字是表达式的一部分,它应该位于两个子表达式之间。这里你写 'z' and 's' in string
它被解释为:
('z') and ('s' in string)
其中第一个子表达式 'z'
或多或少被评估为 True
,而第二个子表达式稍微复杂一些(在您的示例中,它也被称为 True
因为 's'
实际上在 string
.
组合两个子表达式产生 True
(此处)。
你当然想写:
if 'z' in string and 's' in string:
只是在上面的答案的基础上,为了从 if 语句中获得您期望的正确输出,您需要指定 if "z" in string and "s" in string
以便 python 计算 what 的正确含义你打算这样做。
string = 'asdf'
if 'z' in string and 's' in string:
print("True")
else:
print("False")