【发布时间】:2023-01-05 08:05:44
【问题描述】:
Python 单行 if/else 语句应该可以在不引发 SyntaxError 的情况下运行,但它们会使用一些关键字。
pass if arg else pass的预期结果应该与print('') if arg else print('')类似。虽然它们看起来很相似,但一个会导致语法错误,而另一个则不会。为什么解释器允许以这种方式使用某些关键字而不是其他关键字?
def foo(arg):
#raise BaseExecption if arg else raise BaseException
#pass if arg else pass
print('') if arg else print('')
foo(True)
注意:注释掉的代码行将产生 SyntaxError。
【问题讨论】:
-
Python 中没有单行 if/else 语句。如果您想要一个语句,请使用标准的多行 if/else。
x if y else z是一个条件表达式。
标签: python