我使用sublime自动对超过79个字符的python代码行进行自动换行,这符合Pep-8的定义。最初,我做的是返回而不是超出限制。
唯一的缺点是,任何其他没有激活换行的人都不会有这个限制。那么,我应该努力实现真正的自动换行,还是视觉自动换行可以呢?

发布于 2016-05-21 15:02:18
PEP8希望您执行实际的自动换行。PEP8的风格规则的要点是,文件在每个编辑器中看起来都是一样的,因此您不能依赖编辑器可视化来满足PEP8。
这也使您可以选择要故意中断的点。例如,Sublime会做一个非常基本的工作来包装这行;但你可以用一种更具可读性的方式来做,例如:
x = os.path.split(os.path.split(os.path.split(
os.path.split(os.path.split(path)[0])[0]
)[0])[0])当然,这并不一定很好(我将其主要归咎于这个示例代码),但它清楚地表明了什么属于什么。
也就是说,一个好的策略是简单地避免换行。例如,您一次又一次地使用os.path.split;因此您可以更改导入:
from os.path import split
x = split(split(split(split(split(path)[0])[0])[0])[0])当然,如果您发现自己一遍又一遍地做某事,也许有更好的方法可以做到这一点,例如使用Python3.4的pathlib
import pathlib
p = pathlib.Path(path).parents[2]
print(p.parent.absolute(), p.name)发布于 2016-05-21 14:32:26
文件内自动换行将使您的代码最一致地符合Pep-8,即使其他程序员正在使用不同的编码环境查看您的代码。在我看来,这似乎是保持标准的最佳解决方案,特别是如果您希望其他人在某个时候查看您的代码。
如果你在一个项目中和一群人一起工作,甚至是在一家公司里,你可以和其他程序员协调,找出你最满意的解决方案。
对于你真的不希望任何人看到的个人项目,我相信使用视觉换行是可以的,但你自己强制执行它肯定有助于养成一个好习惯。
https://stackoverflow.com/questions/37357896
复制相似问题