我应该如何在python注释中格式化长URL并且仍然符合PEP8

Zac*_*ach 71 python pep8

在块注释中,我想引用一个超过80个字符的URL.

显示此URL的首选约定是什么?

我知道bit.ly是一个选项,但URL本身是描述性的.缩短它然后有一个描述缩短的URL的嵌套注释似乎是一个糟糕的解决方案.

jfs*_*jfs 71

不要破坏网址:

# A Foolish Consistency is the Hobgoblin of Little Minds [1]
# [1]: http://www.python.org/dev/peps/pep-0008/#a-foolish-consistency-is-the-hobgoblin-of-little-minds
Run Code Online (Sandbox Code Playgroud)

  • 我同意; 然而,PyCharm并不容易忽略(没有用丑陋的'#noinspection LongLine'(和类似的)引用来代替您的代码.我认为更大的问题是RST格式有限制,无法使用在URL中有换行符(未显示). (5认同)
  • @jfs所以答案应该是:"在这种情况下,长线符合PEP8" (3认同)
  • 答案并没有回答如何合规,因此,如果您有短绒,它仍会带有警告。 (2认同)
  • @Efren正是我的回答:*“我应该如何格式化..并符合pep-8规范” *->“不要破坏网址” (2认同)
  • 我刚刚发现** control-click **!现在,这就是为什么您不想在注释中断开URL的原因。 (2认同)

Chr*_*tts 62

来自PEP8

但最重要的是:知道何时不一致 - 有时风格指南不适用.如有疑问,请使用您的最佳判断.查看其他示例并确定最佳效果.并且不要犹豫!

打破特定规则的两个充分理由:

  • 应用规则会使代码的可读性降低,即使对于习惯于阅读遵循规则的代码的人也是如此.

就个人而言,我会使用该建议,而是在您的评论中留下完整的描述性URL.


Sar*_*ica 35

您可以使用该# noqa行的末尾来阻止PEP8/Flake8运行该检查.这是PEP8允许的:

特殊情况不足以打破规则.

  • 优雅.我在Vim中使用pyflakes并且不会进行更改,直到它从约定的规则集返回零警告(maccabe要求在我们的情况下更宽松,但不是80行限制).告诉同事的最短路径:我没有拆分多线,因为这样做是没有意义的. (3认同)
  • 谢谢@Sardathrion,应该有更多的选票,因为它实际上提供了一个实际的解决方案. (3认同)

mat*_*ata 22

我会说离开吧......

PEP20:

特殊情况不足以打破规则.

虽然实用性胜过纯洁.

在粘贴到浏览器中时,能够快速复制/粘贴网址以删除换行符更为实用.


小智 12

如果你使用的是flake8:

"""
long-url: http://stackoverflow.com/questions/10739843/how-should-i-format-a-long-url-in-a-python-comment-and-still-be-pep8-compliant
"""  # noqa
Run Code Online (Sandbox Code Playgroud)