Python"如果X == Y和Z"语法

bsa*_*mek 13 python if-statement

做这个:

if key == "name" and item:
Run Code Online (Sandbox Code Playgroud)

意思是这样的:

if key == "name" and if key == "item":
Run Code Online (Sandbox Code Playgroud)

如果是这样,我对Dive Into Python中的示例5.14感到困惑.键如何等于"名称"和项目?另一方面,"和项目"只是询问项目是否作为变量存在?

Man*_*dan 33

if key == "name" and item:手段if (key == "name") and (item evaluates to True).

请记住,这(item evaluates to True)可能有多种方式.例如,if (key == "name") and []将评估为False.

  • @paracaudex:不!在`$ b = 0;`之后,`isset($ b)`求值为true,但`$ b`为假.并且`isset(true)`是无意义的,而`while True`是*写出无限循环的方法. (8认同)

bra*_*zzi 10

Manoj解释得很好.这里有一些补充说明.

伪代码

if key == "name" or if key == "item":
Run Code Online (Sandbox Code Playgroud)

应该这样:

if key == "name" or key == "item":
Run Code Online (Sandbox Code Playgroud)

一个有趣的成语是:

if key in ("name", "item"):
Run Code Online (Sandbox Code Playgroud)

但是对于非常大的条件更有用,你只想知道某个值是否等于列表中的任何其他值.