将一行“if else”语句分成多行

Tzu*_*rEl 3 python pep8 python-2.7

我想打破这段代码:

ex = func(object) if not self.is_object() else foo()
Run Code Online (Sandbox Code Playgroud)

到多行(pep 8)。最好的方法是什么?我想过这个:

ex = func(object) \
    if not self.is_object() \
    else foo()
Run Code Online (Sandbox Code Playgroud)

但这似乎有点难看,也不是很整洁。还有其他方法吗?

编辑:这与将一行分成多行不同,因为这是一个特殊的“表达式 if stmnt else stmnt”,而不仅仅是破坏任何 python 代码。

ill*_*ght 5

这里究竟有什么丑陋之处?反斜杠?有一种方法可以避免它们
要将语句分成多行,请在条件周围使用括号,如下所示:

ex = (func(object)
      if not self.is_object()
      else foo())
Run Code Online (Sandbox Code Playgroud)

但也许写一个完整的条件结构会更好:

if not self.is_object():
    ex = func(object)
else:
    ex = foo()
Run Code Online (Sandbox Code Playgroud)