问题标签 [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 回答
7247 浏览

python - 如何修复:W602 已弃用引发异常的形式

如果我使用 pylint(通过 sublimerlinter),我会收到以下警告消息:

W602 deprecated form of raising exception

这就是我在代码中使用异常的方式:

0 投票
3 回答
537 浏览

python - 为什么一些很可能了解 PEP8 的开发人员将他们的包名大写?(例如:Django、Sphinx、Fabric、...)

PEP8建议模块和包名称使用全小写的名称。PyPI 上的大多数包似乎都遵循这个规则。然而,有一些明显非常有能力和 PEP8 意识的开发人员的包已经大写了他们的包名。

例子:

  • SphinxPygments通过Georg Brandl
  • Django通过Simon Willison, Jacob-Kaplan Moss, ...
  • Fabric经过Jeff Forcier

为什么这些开发人员将他们的包名大写?

0 投票
0 回答
2579 浏览

sublimetext2 - 如何配置 SublimeLinter 以强制执行 pep8 错误?

我试图让 SublimeLinter 将 pep8 错误作为插件强制执行 sublime text 2。当我安装它时,它似乎立即显示一小部分错误,但几乎不是我通过运行获得的完整列表

如果我查看我的 sublime text 2 控制台,那么我会看到 pep8 错误的完整列表。但是,当您转到“显示错误列表”时,我希望这些显示在 sublime text 2 gui 中。

如果我转到“显示错误列表”,它说我没有 lint 错误,但我在控制台中看到了数百个 lint 错误。

在包配置文件中,pep8 默认设置为 true,但似乎并未强制执行所有错误。

对于使用过这个插件的人,我怎样才能让它从主“显示错误列表”窗口而不是控制台列出所有 pep8 错误?

===

更新:经过一段时间的闲逛,我缩小了范围。在 SublimeLinter 插件(文件 python.py)中有一行:

这是在文件上实际运行 pep8 的内容。当它遇到错误时应该调用该pep8.Checker.report_error函数,并且插件中定义了一个自定义回调。但是,我已经对其进行了跟踪,并且发现它没有被调用。检查器运行正常并产生结果。我在这里检查了 pep8 代码https://github.com/jcrocholl/pep8/blob/master/pep8.py,但没有运气。

我想有一个非常简单的修复......可能是某个地方的配置。如果有人有见解,将不胜感激。

0 投票
4 回答
4651 浏览

python - 在变量中拆分长 SQL 查询

遵循 PEP8 指南,将很长的 sql 语句格式化为变量的最佳实践是什么?

下面是一个示例,说明我如何拆分变量:

0 投票
3 回答
378 浏览

python - 向函数传递和处理参数的最佳方法

经过一番阅读,我发现自己在用两种不同的方法将参数列表传递给函数。我读到了一些迹象。这就是我到目前为止所想到的:

实际代码:

文件调用者.py:

文件:worker.py:

现在我有:

文件调用者.py:

文件:worker.py:

使用旧方法(实际代码)我相信只在一行中调用一个函数更“友好”(正如您在 worker.py 上看到的那样)。但是,使用新方法,我认为代码变得更加广泛,因为对于每个函数,我必须定义所有相同的变量。但这是最佳实践吗?我仍在缓慢地学习 Python,因此,对于代码中的任何错误,我深表歉意。

还有一件重要的事情,大部分变量都是从数据库中检索出来的,所以它们不是固定的。

0 投票
6 回答
2151 浏览

python - 德摩根定律是 Pythonic 吗?

以下哪个 if 语句更符合 Python 风格?

或者

它不是谓词逻辑,所以我应该使用 Python 关键词,因为它更具可读性,对吧?

在后来的解决方案中比其他解决方案更优化?(我不相信。)

有这方面的 PEP-8 指南吗?

两种方法的字节码(如果重要):

0 投票
1 回答
305 浏览

python - 有没有更好的方法将此 Python/Django 代码格式化为有效的 PEP8?

我有两种方式编写的代码,我发现它们都有缺陷。有没有另一种方法来写这个,或者一种方法比另一种更“正确”?

这是有效的代码,这不是正确的代码,我撕掉了一段类似的代码来给出 objects.filter 部分的示例。请不要浪费时间评论代码的其他部分。我把 try/except 放在那里强制缩进将某些元素推到新行(80列)

0 投票
5 回答
204 浏览

python - 如何限制 Python 中复杂行的长度?

我正在根据PEP8格式化我的代码,但我有一个小问题;就是这个:

如何将其分成 72-79 个字符的行?

0 投票
5 回答
320 浏览

python - 在内部带有长文本的变量上使用“”而不是“

我的问题很简单。

当我将长 sql 语句写入变量时,我使用以下形式:

但是,在 if 语句的变量上使用这种“技术”是否正确?

示例 1:

示例 2:

在示例二中,我相信它可以实现 PEP8 所说的使用

反而

但它是正确的吗?以这种方式拆分正则表达式、xpath xpressions 或其他东西?

这个问题主要是因为遵循 PEP8 关于在一行上最多使用 79 个字符的步骤。

如果这不是正确的方法,可以采取什么措施来遵循 PEP8 指示?

0 投票
1 回答
610 浏览

coding-style - Pep8 Python3.3 矛盾

Pep 8 有以下规则

空行

用两个空行分隔顶级函数和类定义。

类中的方法定义由一个空行分隔。

可以(谨慎地)使用额外的空白行来分隔相关功能组。在一堆相关的单行代码(例如一组虚拟实现)之间可以省略空行。

谨慎地在函数中使用空行来指示逻辑部分。

Python 接受 control-L(即 ^L)换页符作为空格;许多工具将这些字符视为页面分隔符,因此您可以使用它们来分隔文件相关部分的页面。请注意,一些编辑器和基于 Web 的代码查看器可能无法将 control-L 识别为换页符,并且会在其位置显示另一个字形。

但是,类定义中不能有一个完全空白的行

我头脑中的例子:

spam 和 egg 之间的行必须是空行,但是,这将导致意外缩进的解析错误。是否有另一个角色应该进入那个空间?我的假设只是将空格/制表符留在“空白”行,因为它更具可读性。

在第二个示例中,嵌套的 defs 需要维护其先前行的缩进,以使解析正常工作。处理此问题的正确 PEP 8 方法是什么?空行,带空格的空行,没有行?