【发布时间】:2016-04-28 17:23:56
【问题描述】:
PEP8 告诉我最大行长应该是 79。这听起来有点像打孔卡片,而且我习惯了更长的行,但是随着我学习 Python,我正在尝试符合标准样式。
考虑这一行:
partsList[r][newPurchaseNotes] += partsList[r+1][newPurchaseNotes]
当缩进 4 个停止位(每个 PEP8 使用 4 个空格制表符)时,它会溢出。 (如果我使用 PEP8 下划线分隔符而不是 Java 风格的混合大小写,那就更糟了。)
如果我像这样把它分成两行:
partsList[r][newPurchaseNotes]
+= partsList[r+1][newPurchaseNotes]
...这是一个语法错误(意外缩进)。像这样打破它:
partsList[r][newPurchaseNotes] +=
partsList[r+1][newPurchaseNotes]
...这也是一个语法错误(无效语法)。
这里有两个明显的解决方案,我都不喜欢:
- 为变量使用较短的名称
-
用中间变量将一条语句分成两条:
s = partsList[r+1][newPurchaseNotes] partsList[r][newPurchaseNotes] += s
在研究这个论坛时,我确实找到了减少循环和条件的缩进级别的建议。就我而言,我有 if 嵌套在 if 嵌套在一个函数内的一段时间内。我更改了逻辑以减少一级 if 语句,但仅将行保持在 79 个字符内是不够的。
【问题讨论】:
-
你最初没有得到代码格式文本的原因是因为你给它的缩进表明它是上述要点的延续。它需要缩进更多
-
谢谢。当我进入编辑它时,我注意到问题已经消失(添加了更多缩进,删除了关于为什么它没有格式化的评论)。那是怎么发生的?除了我之外的其他人可以编辑文本吗?
-
是的,任何有足够代表的人都可以编辑它,但如果没有实际改进,编辑将被审查并可能回滚
-
再次感谢。显然,我是一个 stackoverflow 新手,也是一个 Python 新手。