问题标签 [pep8]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
2644 浏览

python - Pyflakes + pep8 在普通模式下检查 vim

我使用 vim 作为我的 IDE 和 python,它很棒。我使用 pyflakes + pep8 和适当的插件。我需要这些附加功能:

  1. pyflakes “即时”检查,而无需切换到正常模式。
  2. pep8 检查“即时”。目前,我已映射“F6”来进行 pep8 检查,并弹出一个快速修复窗口。我希望 pep8 以与 pyflakes 相同的方式完成,但在正常模式下。
  3. pep8 和 pyflakes 的亮点必须不同。

谢谢

0 投票
1 回答
515 浏览

python - PEP 8:应该如何对 __future__ 导入进行分组?

根据PEP 8

进口应按以下顺序分组:

  1. 标准库导入
  2. 相关第三方进口
  3. 本地应用程序/库特定导入

您应该在每组导入之间放置一个空行。

但它没有提到__future__进口。导入应该__future__与标准库导入组合在一起还是与标准库导入分开。

所以,哪个更优选:

或者:

0 投票
8 回答
23453 浏览

python - 我应该如何在 python 评论中格式化长 url 并且仍然符合 PEP8

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

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

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

0 投票
1 回答
804 浏览

python-3.x - 断言包装函数

所以我在查看代码时遇到了这个有趣的问题:

想知道将断言包装到您自己的自定义版本是否是更快/更好的解决方案,然后assert hasattr(...)每次需要确保属性存在而不是无时使用?

0 投票
1 回答
367 浏览

python - Django / Python (PEP 8):如果我想命名一个名为 Property 的模型类。我应该将其保留为 Property 还是 Property_?

我知道这property()是 Python 中的内置函数,但我想将模型类命名为Property. 像这样简单的东西:

我应该打电话给班级Property还是Property_?现在我知道 Python 区分大小写,但我问的原因是因为在 Django 中,Property模型类被标识为myapp.property.

在与我相关的其他模型中,我在这样的字段中Property添加了一个_

0 投票
2 回答
7545 浏览

python - 从 QuickFix 窗口应用自动 pep8 修复

背景:

我正在使用(很棒的)Vim 插件python-mode,其中包括 pep8 linter。该:PyLint命令运行所有 linter 并在 QuickFix 窗口中打开错误。

问题:

现在,假设我只使用 pep8 linter,并且我有一个充满错误的 QuickFix 窗口。我想逐步检查每个错误并应用自动修复(使用类似 autopep8 的东西)。autopep8 工具很棒,但它会出错。理想情况下,我希望能够监督 Vim 中的每个修复(应用修复、检查、移动到下一个修复)。

我目前的方法是在我的 Python 文件上运行autopep8,比较结果,然后修复任何错误的更改:

但是,这种方法破坏了我的撤消历史,并且看起来不必要地复杂。有没有更好的办法?

问题:

有没有办法在 QuickFix 窗口中自动将 pep8 修复(如果可用)应用于 pep8 错误?

0 投票
1 回答
282 浏览

python - 在一行中结合两个赋值和pep8风格的python代码

如何将第一行和第二行合并为一行?

另一个问题:

我应该如何将线分成两条线?

0 投票
3 回答
2314 浏览

python - 这个全局类变量如何兼容 pep8 并且仍然有效?

Pep8建议始终cls用作类方法定义的第一个参数。现在假设我想使用一个类变量(在这种情况下:)cls.cartridge_state,它也可以在实例方法中使用(在这种情况下:)__init__。所以为此我需要使变量成为全局变量(参见下面的代码)。但是实例化FountainPen会产生以下运行时错误:

但是当我更改global cartridge_stateglobal cls.cartridge_state我尝试导入模块时再次收到 syntaxError 。

如何让类变量cartridge_state符合 pep8 并使此代码正常工作?

0 投票
3 回答
103490 浏览

python - 如何正确使用 python 的 isinstance() 检查变量是否为数字?

我发现一些旧的 Python 代码正在执行以下操作:

正如预期的那样,pep8抱怨这种推荐使用isinstance().

现在,问题是该numbers模块是在 Python 2.6 中添加的,我需要编写适用于 Python 2.5+ 的代码

所以if isinstance(var, Numbers.number)不是解决方案。

在这种情况下,哪个是正确的解决方案?

0 投票
3 回答
2812 浏览

python - 在同一文件夹中导入python

如果在同一文件夹中的另一个文件中导入文件。

文件结构:

在 d.py 中:

更新 1

我两个都用

和:

程序无法运行并引发 ImportError。

为了解决这个问题,我使用

但是,这似乎不是标准方式。

像一些著名的项目:龙卷风或其他什么,总是使用这种结构。但没有插入线。

如果导入语句在 unittest 文件中,则自动测试工具(如 sniffer、autonose)可以运行这种结构。

我不知道为什么。

PEP328 或 PEP366 并没有给我一个很好的解决方案。

PEP8 建议我这样做。

导入另一个模块(在另一个文件中)时也会出现此问题,例如: