使用方法调用在 Python 中格式化多行

6 python coding-style code-formatting pep8

Python 中用于格式化多行方法调用代码的可接受样式是什么?

my_obj.call(x,y).multiple(*args).methods([1,2,3])
Run Code Online (Sandbox Code Playgroud)

在括号/圆括号后使用隐式换行符,它看起来像这样:

my_obj.call(
  x, y).multiple(
  *args).methods(
  [1,2,3])
Run Code Online (Sandbox Code Playgroud)

这有点难看,并不适合典型的 Python 风格。

  1. 使用反斜杠格式化多个方法调用是否可以接受\

    my_obj.call(x, y) \
      .multiple(*args) \
      .methods([1,2,3])
    
    Run Code Online (Sandbox Code Playgroud)
  2. 如果可以接受,那么在方法调用之后的行中使用两个空格是否也可以接受,或者应该没有缩进?

And*_*den 8

尾随的替代方法\是使用括号:

(my_obj.call(x, y)
  .multiple(*args)
  .methods([1,2,3]))
Run Code Online (Sandbox Code Playgroud)


Sra*_*raw 5

我会这样格式化:

my_obj.call(
    x, y
).multiple(
    *args
).methods(
    [1, 2, 3]
)
Run Code Online (Sandbox Code Playgroud)

或使用\

my_obj.call(x, y) \
    .multiple(*args) \
    .methods([1, 2, 3])
Run Code Online (Sandbox Code Playgroud)

缩进应与块缩进相同,通常为 4 个空格。