Laz*_*h13 10 python nested-statement
在禅宗的Python中,蒂姆·彼得斯说明了这一点Flat is better than nested..如果我已正确理解,那么在Python中,这个:
<statement-1> if <condition> else <statement-2>
Run Code Online (Sandbox Code Playgroud)
通常比这更受欢迎:
if <condition>:
<statement-1>
else:
<statement-2>
Run Code Online (Sandbox Code Playgroud)
但是,在其他语言中,我被告知不要嵌套三元运算符,而是使用传统的运算符 if...else.那么,我的问题是我应该使用这个:
(<statement-1> if <condition-1> else <statement-2>) if <condition-2> else <statement-3>
Run Code Online (Sandbox Code Playgroud)
要么
if <condition-2>:
if <condition-1>:
<statement-1>
else:
<statement-2>
else:
<statement-3>
Run Code Online (Sandbox Code Playgroud)
?特别是如果陈述和条件很长,第一行需要拆分?
Tim*_*ers 22
你的第一个例子(可怕的单行)也是嵌套的.水平嵌套.你的第二个例子是垂直嵌套的.它们都是嵌套的.
哪个更好?第二个!为什么?因为"稀疏优于密集"打破了平局.
当你是蒂姆·彼得斯 - LOL时很容易;-)
“扁平比嵌套更好”是关于模块组织,也许还有数据结构,而不是你的源代码。例如,标准库大多作为顶级模块存在,嵌套很少。
不要嵌套三元运算符,如果可以避免的话,甚至根本不使用它。复杂总比复杂好。:)