问题标签 [pep]

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 回答
3013 浏览

python - 存储 Python 类的文件名的大写

C++

我使用严格的类名大写规则。

多年来,我尝试使用有点不一致的规则,即在用 C++ 编写文件时使用小写文件名。

例如,class Stopwatch将在文件中stopwatch.hppstopwatch.cpp.

在这一点上,我不确定我是如何或为什么发现这很尴尬,但我有理由相信事实证明是这样。我对文件使用完全相同的大小写。一个好处是它有助于避免OS X 版本控制中的烦人问题。

Python

PEP 8推荐模块和包的小写名称。它没有对包含类的文件名提出任何建议。

有没有这样的建议或一些最佳实践?

0 投票
1 回答
3316 浏览

python - django 模型元类的标准文档字符串是什么?

django 中的模型可以带有这样的元类:

我的元类充其量是异想天开的。Python 或 Django 是否有元类的标准文本?

0 投票
0 回答
37 浏览

python-2.7 - 我应该如何命名模块?它们经常与局部变量冲突

我正在开始我的第一个大型 python 项目,并且遇到了一个常见问题。我将拥有一些response.py纯功能性且没有类的文件。我经常这样做:

响应模块对响应变量进行操作,这当然是冲突的。PEP8 说包名和模块名应该小写,局部变量也应该小写。

问题:有没有一种方法可以在不牺牲模块名和变量名的可读性的情况下减轻命名冲突的数量?

0 投票
1 回答
4946 浏览

python - 编码风格 (PEP8) - 模块级“dunders”

“Dunder”的定义(双分):http : //www.urbandictionary.com/define.php ?term= Dunder


根据Python 代码中模块级“dunders”(如 、 等)的位置,我有一个__all__问题__version____author__

在阅读PEP8并看到这个Stack Overflow 问题时,我想到了这个问题。

接受的答案说:

__author__是一个全局“变量”,因此应该出现在导入的下方。

但在 PEP8 部分模块级别的名称中,我读到以下内容:

模块级别的“dunders”(即带有两个前导和两个下划线的名称),例如,,,等__all__应该放在模块文档字符串之后,但在任何导入语句之前,除了来自导入。Python 要求未来导入必须出现在模块中除文档字符串之外的任何其他代码之前。__author____version____future__

作者还给出了一个代码示例:

但是当我将上述内容放入 PyCharm 时,我看到了这个警告(另见截图):

PEP8:模块级导入不在文件顶部

PyCharm 忽略 PEP8?

问题:用双下划线存储这些变量的正确方法/位置是什么?

0 投票
1 回答
1056 浏览

python - 忽略在 python 3 中向调用者提出异常

如何忽略在 python 3 中向调用者提出的某个异常?

例子:

我发现有人提到“由于在 Python 中记住了最后一次抛出的异常,因此抛出异常语句中涉及的一些对象将无限期地保持活动状态”,然后提到在这种情况下使用“sys.exc_clear()”在 python 3 中不再可用。任何线索我怎样才能完全忽略 python3 中的异常?

0 投票
0 回答
61 浏览

python - 为什么这个 python 缩进没有抛出错误?

我们最近在我们的 python 脚本中发现了一个错误,并由同事在其他人的系统上修复(测试、提交和推送)。当时,似乎什么都没有。但是,当我在我的 emacs 中启动脚本时,我注意到缩进不正确。以下是违规行:

那些不知道的人,^I暗示着硬标签,$暗示着行尾。

在此脚本上运行测试导致当时的输出正确。当我注意到缩进级别的混淆时,我很自然地认为这些测试在某种程度上是错误的。但是,将缩进修复为 4 空格规则:

导致相同的执行。之前没有抛出错误,这次没有观察到程序执行的变化。

我的问题是,为什么?python 不应该大喊有不同级别的缩进等吗?

以下是每行的缩进级别:

0 投票
1 回答
36 浏览

python - 协议驱动的断路算子

我在PEP 532中遇到了“协议驱动的断路器操作员”一词,但找不到它的确切含义。

你能解释一下这句话是什么意思吗?

0 投票
1 回答
70 浏览

python - 短路结果

我从PEP 532中发现了以下陈述:

  • __else__if是由于缺少尾随else子句而导致的表达式短路结果
  • __then__else是由于缺少前导if子句而导致的表达式短路结果

这些陈述是什么意思?有什么例子可以更清楚地说明这些观点吗?

0 投票
0 回答
94 浏览

python - 什么是系统提供的证书数据库(Python PEP 476)?

PEP 476 的摘录:

此 PEP 建议使用系统提供的证书数据库。以前的讨论建议捆绑 Mozilla 的证书数据库并默认使用它。

https://www.python.org/dev/peps/pep-0476/#trust-database

系统提供的证书数据库是什么意思?

0 投票
2 回答
2098 浏览

python - Is calling next(iter) inside for i in iter supported in python?

Question: Python list iterator behavior and next(iterator) documents the fact that calling

Has the effect of skipping ahead in the for loop. Is this defined behavior that I can rely on (e.g. in some PEP) or merely an accident of implementation that could change without warning?