问题标签 [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 投票
4 回答
24529 浏览

python - Python PEP:函数定义后的空行?

我找不到任何有关此详细信息的 PEP 参考。函数定义后必须有一个空行吗?

我应该这样做:

或者我应该这样做:

当使用文档字符串时,同样的问题也适用:

这:

或这个

编辑

正如 FoxMaSk 所评论的那样,这就是 PEP 在空白行上所说的内容,但它没有说明这个细节。

空行

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

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

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

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

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

0 投票
2 回答
73 浏览

python - 哪些 Python PEP 处理代码风格?

哪些 Python PEP 处理代码风格?我知道两个:PEP 8PEP 257。还有其他人吗?

0 投票
1 回答
118 浏览

python - 是否有任何关于条件“例外”块的 Python 提案?

在系统编程中,调用一些可能失败的库函数是很常见的,如果确实失败了,则检查errno确切的原因。即使在 Python 中也是如此,我认为它比它需要的更麻烦。让我们以一些尝试删除文件的代码为例,如果文件不存在,则继续静默:

我想知道在 Python 中是否曾允许或提议做类似这样的事情:

我认为这有几点值得推荐:

  1. 更简洁。
  2. 熟悉:因为我们已经可以捕获某些类型的异常,所以我们只捕获某些实际实例。未捕获的异常以通常的方式传播。
  3. 不需要新的关键字,也不需要任何主要的新句法结构。

如果以前没有考虑过这一点,我会感到惊讶,所以我会接受任何指向过去或未决提案的链接作为答案。我也接受一个答案,解释为什么上面会引入现有语言的任何类型的问题(Python 3.x,因为我认为 2.x 大部分是冻结的)。

0 投票
6 回答
3293 浏览

python - 在 Python 中在操作代码中间定义一个函数是不好的做法吗?

我从有关导入的类似问题中了解到,不应将“操作代码”和import(它们应该位于顶部)混合在一起。

在“操作代码”中间定义函数的共识是什么?

我有一个例子,一个函数只在一个地方使用(它必须是一个函数)并且它的定义接近那段代码是有意义的(所有都将被组合在一起)。但是,它在视觉上破坏了代码的流程。

PEP有什么建议吗?(我没有找到任何相关的东西,而不是import

编辑:答案的明显趋势是这不是一件好事,但与import上面提到的情况不同,没有明确的指令(例如 PEP)

0 投票
1 回答
80 浏览

python - python 'constants' 并改变它们

嗨,这更像是一个风格问题。我有一个与套接字一起使用的小脚本,并且我有声明一些属性的常量(我知道它们不是真正的常量,但是嘿,至少它们是大写的),

但是,我可能会添加功能来通过解析参数来更改这些功能。所以问题是,我应该在解析参数时直接更改这些吗?

还是我应该很好并使用上述常量作为默认值并更改我将传递给需要它们的函数的选项?这似乎有点太多了,但话又说回来,我不想编写会被皱眉的代码:)

0 投票
1 回答
241 浏览

python - 为什么 Python 生成器函数没有与“常规”函数在语法上不同的符号?

我想知道,在阅读了“改进你的 Python:'yield' 和生成器解释”中的生成器之后,但还没有尝试过它们,为什么生成器函数的语法符号与常规函数的语法符号没有什么不同。在我的思想实验中,最明显的选择是:

代替:

现在,在阅读 Python 代码时,似乎需要先搜索“yield”这个词,然后才能理解某个函数是生成器函数。或者,是否存在要求生成器函数具有指示性名称的 Python 约定?喜欢generate_some_value_from_y

0 投票
1 回答
344 浏览

python - 如何优雅地打断长长的弦

看,我已经看到了这个网站上提供的许多答案,这些答案涉及我的问题的各个方面。[上述] 答案通常提供已经存在的示例,这些示例太基本而无济于事 - 至少对我而言。但是,嘿,也许我过于复杂了。

这是原始的长线:

这是我实施“长线延续”礼节的尝试(如我在此处找到的 2007 年 pycon 讲义所述):

我的尝试 (a) 是否会被解析器正确解释和/或 (b) 是否会被任何有帮助的贡献者做得更“漂亮”或更高效?谢谢你。

0 投票
3 回答
1771 浏览

java - JAVA Web 服务中的 SOAP 标头错误

我是 Web 服务开发的新手,我正在尝试使用 XACML 方法实现 JAVA Web 服务。

我已经实现了 2 个非常简单的 Web 服务,其中包含一个返回字符串的方法以及 PEP,它将过滤对我的 Web 服务的所有请求。所有客户端(RPCServiceClient)在调用我的 Web 服务时必须通过 SOAP 标头(addHeader 方法)传递一些必要的信息,对于 RPCServiceClient 服务调用,默认情况下 SOAP 标头为空。PEP 截获请求后,会提取这些信息并作为授权方法的参数传递。问题是当我的 PEP 尝试读取 SOAP 标头时,我总是得到这个异常:

我已经验证了我的 SOAP 消息是否格式正确,但它仍然存在同样的问题。

有人可以帮忙吗??

编辑:

这是从客户端发送的 SOAP 请求。

更新:这是我的 PEP:

0 投票
1 回答
167 浏览

python - Virtualenv or PEP370

I have been recommended to follow PEP370 instead of creating virtualenvs.

http://legacy.python.org/dev/peps/pep-0370/

Can anyone explain which is a better solution? It seems virtualenvs are redundant since python 2.6.

0 投票
1 回答
723 浏览

python - Python 对替换文本中的十六进制转义的支持

找不到对应的 PEP 或 Pythonre模块中的一个问题的错误。

有谁知道是否计划修复以下问题?

来自正则表达式.info

Python 不支持替换文本语法中的十六进制转义,即使它支持字符串常量中的 \xFF 和 \uFFFF。

但它实际上支持标准转义,如\n,\r等。

因此,例如,不能使用十六进制转义符替换'<'字符:'>'

而不是'\\x3e'应该是'>'.

使用转义\n工作正常:

提前致谢!

UPD:不使用原始字符串不是一种选择。例如,如果模式和替换字符串存储在配置文件中,那么如果我在其中写入 \x3e,它将'\\x3e'在读取时变为,而不是'>'.