'''在python3中的运算符

问题描述 投票:2回答:2

我对编码还很陌生,但尽管我了解'and'运算符的工作原理。在我提供的示例中,我会认为'False'语句会运行,而不是'True'语句。有人可以启发我为什么这没有达到我的预期吗?

string = 'asdf'

if 'z' and 's' in string:
    True
else:
    False
python-3.x expression comparison-operators
2个回答
3
投票

and关键字是表达式的一部分,应位于两个子表达式之间。在这里编写'z' and 's' in string,它解释为:

('z') and ('s' in string)

第一个子表达式'z'或多或少被评估为True,而第二个子表达式则稍微复杂一些(在您的示例中,由于True实际上在[ C0]。

将两个子表达式组合会产生's'(在此)。

您当然想写:

string

1
投票

只是建立在上面的答案上,要从if语句中获得期望的正确输出,您需要指定True,以便python计算出您打算做什么的正确含义。

if 'z' in string and 's' in string:
© www.soinside.com 2019 - 2024. All rights reserved.