Python中用于格式化多行方法调用代码的方式是什么?
my_obj.call(x,y).multiple(*args).methods([1,2,3])
括号/括号后隐式换行符如下所示:
my_obj.call(
x, y).multiple(
*args).methods(
[1,2,3])
这有点难看,并不适合典型的Python风格。
使用反斜杠\
格式化多个方法调用是否可以接受?
my_obj.call(x, y) \
.multiple(*args) \
.methods([1,2,3])
如果可以接受,那么在方法调用之后在行中使用两个空格是否也可以接受,或者是否没有缩进?
答案 0 :(得分:2)
我会像这样格式化:
my_obj.call(
x, y
).multiple(
*args
).methods(
[1, 2, 3]
)
或使用\
:
my_obj.call(x, y) \
.multiple(*args) \
.methods([1, 2, 3])
凹痕应与块凹进相同,通常为4个空格。
答案 1 :(得分:1)
尾随\
的替代方法是使用括号:
(my_obj.call(x, y)
.multiple(*args)
.methods([1,2,3]))
答案 2 :(得分:0)
pep8的方式是
temp_obj = my_obj.call(x,y)
temp_obj = temp_obj.multiple(*args)
temp_obj.methods([1,2,3])
或者如果第一行符合一行,即< 79
个字符。
temp_obj = my_obj.call(x,y).multiple(*args)
temp_obj.methods([1,2,3])