有时我将ifs 中的长条件分成几行。最明显的方法是:
if
if (cond1 == 'val1' and cond2 == 'val2' and cond3 == 'val3' and cond4 == 'val4'): do_something
视觉上不是很吸引人,因为动作与条件融为一体。但是,这是使用正确的 Python 缩进 4 个空格的自然方式。
目前我正在使用:
if ( cond1 == 'val1' and cond2 == 'val2' and cond3 == 'val3' and cond4 == 'val4'): do_something
但这不是很漂亮。:-)
你能推荐一种替代方法吗?
您不需要在第二个条件行上使用 4 个空格。也许使用:
另外,不要忘记空格比你想象的更灵活:
if ( cond1 == 'val1' and cond2 == 'val2' and cond3 == 'val3' and cond4 == 'val4' ): do_something if (cond1 == 'val1' and cond2 == 'val2' and cond3 == 'val3' and cond4 == 'val4'): do_something
不过,这两个都相当丑陋。
也许会丢失括号(尽管样式指南不鼓励这样做)?
if cond1 == 'val1' and cond2 == 'val2' and \ cond3 == 'val3' and cond4 == 'val4': do_something
这至少给了你一些差异化。
甚至:
if cond1 == 'val1' and cond2 == 'val2' and \ cond3 == 'val3' and \ cond4 == 'val4': do_something
我想我更喜欢:
if cond1 == 'val1' and \ cond2 == 'val2' and \ cond3 == 'val3' and \ cond4 == 'val4': do_something
这是Style Guide,(自 2010 年以来)建议使用括号。