python - 如何让我的 Python 代码保持在每行 80 个字符以下?

标签 python pep8

我编写了一些 Python,其中一些行的长度超过 80 个字符,这是我需要保持的阈值。如何调整我的代码以减少行长?

最佳答案

我当前的编辑器 (Kate) 已配置为在行长达到或超过 80 个字符时在单词边界引入换行符。这立即表明我已经越界了。此外,还有一条红线标记了 80 个字符的位置,提前警告我该行何时会溢出。这些让我可以规划适合多条物理线路的逻辑线路。

至于如何真正适合它们,有几种机制。您可以用\结束该行,但这很容易出错。

# works
print 4 + \
    2

# doesn't work
print 4 + \ 
    2

区别?区别是不可见的——在第二种情况下,反斜杠后有一个空格字符。糟糕!

应该怎么做呢?好吧,用括号括起来。

print (4 + 
    2)

不需要\。这实际上是普遍适用的,你永远不需要\。即使是属性访问边界!

print (foo
    .bar())

对于字符串,您可以显式添加它们,也可以使用 C 样式连接隐式添加。

# all of these do exactly the same thing
print ("123"
    "456")
print ("123" + 
    "456")
print "123456"

最后,任何形式的括号 (()、[].{}) 中的任何内容,而不仅仅是特别是括号,都可以在任何地方放置换行符。因此,例如,您可以在多行中使用列表文字,只要元素用逗号分隔即可。

所有这些以及更多内容都可以在 Python 的 official documentation 中找到。另外,快速说明一下,PEP-8 指定 79 个字符作为限制,而不是 80--如果你有 80 个字符,你已经超过了。

关于python - 如何让我的 Python 代码保持在每行 80 个字符以下?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2070684/

相关文章:

python - TemplateDoesNotExist 但它存在

python - 什么时候应该将协议(protocol)处理代码拆分为 Twisted 中的 Deferreds?

python - 按多个项目和每个项目的不同反向值对字典列表进行排序

python - 与 pandas 中的 bool 值进行比较时,我是否必须偏离 PEP 8 样式约定?

python - pep8 仅注册 "ignore"参数中的第一个值

python - python 脚本 : Linux vs Solaris 上的 Setuid 位

python - 清除实例之间的所有类变量

python - 符合 PEP8 的长 f 字符串拆分

python - 在 Python PEP 8 的字符串中使用反斜杠时使日志输出漂亮吗?

python - PEP8 E128 : can't figure out why a line is being flagged