Jig*_*uff 7 python pep8 line-breaks
我试过搜索,但我找不到任何类似于我的情况.我正在编写一个程序,到目前为止,我已经坚持使用一行规则中不超过79个字符.但是我不确定在几种情况下在哪里打破线.
以下是问题领域:
self.proc.stdin.write('(SayText "%s")\n' % text.replace('\\', '\\\\').replace('"', '\\"'))
Run Code Online (Sandbox Code Playgroud)
对于这种情况,当我在'(SayText"%s")\n'之后断开第一行时,第二行最终为80个字符长.我应该像这样在括号中的某个地方打破第二行吗?
self.proc.stdin.write('(SayText "%s")\n'
% text.replace('\\',
'\\\\').replace('"', '\\"'))
Run Code Online (Sandbox Code Playgroud)
或者最好将整个第三行带到第一个括号的开头,如下所示:
self.proc.stdin.write('(SayText "%s")\n'
% text.replace('\\',
'\\\\').replace('"', '\\"'))
Run Code Online (Sandbox Code Playgroud)
另一个例子是:
filename = tkFileDialog.askopenfilename(filetypes = (("Word list", "*.tldr"), ("All files", "*.*")))
Run Code Online (Sandbox Code Playgroud)
我应该这样做吗?
filename = tkFileDialog.askopenfilename(filetypes = (("Word list",
"*.tldr"),
("All files",
"*.*")))
Run Code Online (Sandbox Code Playgroud)
或这个?
filename = tkFileDialog.askopenfilename(filetypes = (("Word list",
"*.tldr"),("All files", "*.*")))
Run Code Online (Sandbox Code Playgroud)
什么是一个很好的约定?
谢谢.
在我看来,更喜欢较短的行的原因之一是,它使程序员更有可能将代码分解为单独的较短行,这些行更容易理解并发现错误或更好的方法来完成任务。
from __future__ import print_function
FMT_SAY_TEXT = '(SayText "%s")'
Run Code Online (Sandbox Code Playgroud)
text_escaped = text.replace('\\', r'\\')
text_escaped = text_escaped.replace('"', r'\"')
text_out = FMT_SAY_TEXT % text_escaped
print(text_out, file=self.proc.stdin)
Run Code Online (Sandbox Code Playgroud)
对于第二个例子:
FILE_DIALOG_FILETYPES = (("Word list", "*.tldr"), ("All files", "*.*"))
Run Code Online (Sandbox Code Playgroud)
filename = tkFileDialog.askopenfilename(filetypes = FILE_DIALOG_FILETYPES)
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
2006 次 |
最近记录: |