我对编码还很陌生,但尽管我了解'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
实际上在[ C0]。
将两个子表达式组合会产生's'
(在此)。
您当然想写:
string
只是建立在上面的答案上,要从if语句中获得期望的正确输出,您需要指定True
,以便python计算出您打算做什么的正确含义。
if 'z' in string and 's' in string: