Python编码风格的换行

Python编码风格的换行,python,Python,如上所述: 换行,使其不超过79个字符 通常我在第80行使用特征线,但有时我的函数需要很多参数,例如: extractor.get_trigger_info(cur,con,env,family,iserver,version,login,password,prefix,proxyUser,proxyPass,proxyServer,triggerPage,triggerInfo) 那么,对于保持python编码风格的指导方针,可以给出什么样的建议呢?对于具有多个参数的函数,最佳做法是什么 提

如上所述:

换行,使其不超过79个字符

通常我在第80行使用特征线,但有时我的函数需要很多参数,例如:

extractor.get_trigger_info(cur,con,env,family,iserver,version,login,password,prefix,proxyUser,proxyPass,proxyServer,triggerPage,triggerInfo)
那么,对于保持python编码风格的指导方针,可以给出什么样的建议呢?对于具有多个参数的函数,最佳做法是什么


提前感谢。

此类问题的最终参考是。PEP 8提供了在任意位置中断的自由(前提是在二进制运算符之后中断,并在括号内使用隐含的行继续符)。每当打断一行时,通常下一行从左括号后的列开始:

def func_with_lots_of_args(arg1, arg2, arg3,
                           arg4, arg5):
我的个人风格是尽量安排事情,使每一行上的东西在休息后大致相同的长度

def func(arg1, arg2, arg3,
         arg4, arg5, arg6,
         kwd='foobar'):
而不是:

def func(arg1, arg2, arg3,
         arg4, arg5, arg6, kwd='foobar'):
虽然PEP8并没有说你需要这样做


作为旁注,如果您有一个具有那么多位置参数的函数,您可能应该重新考虑您的程序设计。

我建议:

  • 在两个自动化工具:pyflakes和pep8.py下保持代码整洁(有各种文本编辑器插件)

  • 选择你们认为最好的方法,并在整个项目中坚持下去。如果已经有了条理,那就坚持那个


  • 需要很多参数,这有点代码味道。也许是时候重构了?你能给我举个例子吗?我开始学习Python,我使用问题中提供的链接来保持正确。例如,您可以创建一个包含所有这些数据的类,并简单地传递类实例。额外的好处:您的类可以自己检查无效参数。为了便于阅读,我还建议在每个逗号后面加一个空格,但PEP8并不明确建议这样做(但从表达式和语句中空格处的示例可以推断出来)。感谢PEP8的解释和参考。我会考虑重新设计,因为大多数代码DONST都有类,只有函数。@ HoChl——根据您的建议更新代码。无论我喜欢与否,我都会在两者之间来回奔波(但我知道很多人确实喜欢它)。