在《巨蟒的禅宗》中,蒂姆·彼得斯指出,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>?尤其是如果语句和条件很长,并且第一行需要拆分?
发布于 2013-10-29 06:25:34
“平面比嵌套更好”是关于模块组织和数据结构,而不是你的源代码。例如,标准库主要作为顶级模块存在,嵌套很少。
不要嵌套三元运算符,如果可以避免的话,甚至根本不要使用它。复杂比复杂要好。:)
发布于 2013-10-29 08:09:34
您的第一个示例(可怕的一行代码)也是嵌套的。水平嵌套。您的第二个示例是垂直嵌套的。它们都是嵌套的。
那么哪一个更好呢?第二个!为什么?因为“稀疏比密集好”打破了平局。
当你是Tim Peters - LOL ;-)
发布于 2018-04-17 14:15:18
据我所知,这是"flater":
if <condition_2> and <condition_1>:
<statement_1>
elif <condition_2>:
<statement_2>
else:
<statement_3>要检查的条件的顺序很重要,例如,如果您只将<condition_2>作为检查的第一顺序,那么<statement_1>将永远不会被调用。
https://stackoverflow.com/questions/19646056
复制相似问题