【发布时间】:2012-08-08 20:56:21
【问题描述】:
我们越来越多地使用链式函数调用:
value = get_row_data(original_parameters).refine_data(leval=3).transfer_to_style_c()
它可能很长。为了节省代码中的长行,首选哪个?
value = get_row_data(
original_parameters).refine_data(
leval=3).transfer_to_style_c()
或:
value = get_row_data(original_parameters)\
.refine_data(leval=3)\
.transfer_to_style_c()
我觉得用反斜杠\ 很好,把.function 换行。这使得每个函数调用都有自己的行,易于阅读。但这听起来不是很多人喜欢的。当代码出现细微错误时,当难以调试时,我总是开始担心它可能是backslash (\) 后面的空格或其他东西。
引用Python 风格指南:
可以通过包装表达式将长行分成多行 在括号内。这些应该优先使用 反斜杠用于续行。确保缩进续 适当地划线。打破二进制文件的首选位置 运算符在运算符之后,而不是在它之前。
【问题讨论】:
-
风格指南是一个指南;当它不适合您当前的情况时忽略它。 :-)
-
您可以在大多数编辑器中使用自动缩进来实现您的第二个示例,并且它避免使用 `\` - 这恰好是我的个人风格 - pastebin.com/8Ld9sX5G
-
我更喜欢将表达式放在括号中,并在点之后单独的方法,每行一个(
function.而不是.function) -
感谢您引用 python 风格指南