设置变量时Python内联if

yon*_*ano 0 python java inline

在 Java 中,根据条件将变量设置为一个值可以在一行中完成,如下所示:

variable = (!true) ? 1 : 2
Run Code Online (Sandbox Code Playgroud)

这将导致“2”。

python 有与此代码等效的吗?

谢谢。

msh*_*yem 5

variable =  1 if not True else 2
Run Code Online (Sandbox Code Playgroud)

通用三元语法:

<value_if_true> if <condition> else <value_if_false>
Run Code Online (Sandbox Code Playgroud)

这在 Python 中称为条件表达式,基本上相当于 C 系列语言中的“三元运算符”(尽管它实际上不是运算符)。原始提案PEP 308有更多细节。