【发布时间】:2013-11-07 21:21:33
【问题描述】:
在 Python 之禅中,Tim Peters 指出 Flat is better than nested.。如果我理解正确,那么在 Python 中是这样的:
<statement-1> if <condition> else <statement-2>
通常比这个更受欢迎:
if <condition>:
<statement-1>
else:
<statement-2>
但是,在其他语言中,有人告诉我不要嵌套三元运算符,而是使用传统的if...else。那么,我的问题是我应该使用这个:
(<statement-1> if <condition-1> else <statement-2>) if <condition-2> else <statement-3>
或
if <condition-2>:
if <condition-1>:
<statement-1>
else:
<statement-2>
else:
<statement-3>
?特别是如果语句和条件很长,并且第一行需要拆分?
【问题讨论】:
-
我会使用第二个:它更清晰,更易于维护。我不太确定他的意思。
-
同意第二个。
-
请使用第二个。看了-零-字就可以理解了;缩进传达了所有信息。
-
这可能被解释为你应该尽量不要嵌套你的 ifs——也许有 if
和 :\n \n elif 而不是 :\n \n else:\n -
三元运算符用于组合表达式,而不是语句(语法错误)。