为什么我们不能在三元语句中使用 "pass"?

Why can't we use "pass" in a ternary statement?

这里有一些简单的我认为我可以逃脱的东西:

foo = True
print('bar') if foo else pass

产生:

SyntaxError: invalid syntax

当然,我可以将 pass 替换为 None,这样就可以了。我只是好奇:为什么作业没有通过?

pass 是语句而不是表达式。

表达式几乎可以在任何地方使用。

大多数语句都有其特殊的语法,通常单独占一行。

有关两者区别的更多信息,请参阅this answer

你可以在一行中执行此操作,因为 else 什么都不做,不需要 else 块。

foo = True
if foo : print('bar')