Python 编码标准/最佳实践

在 python 中,您通常使用 PEP 8—— Python 代码的样式指南作为编码标准/指南吗?还有其他你更喜欢的正式标准吗?

114494 次浏览

Yes, I try to follow it as closely as possible.

我不遵循任何其他的编码标准。

我非常严格地遵循它。 PEP-8之前唯一的神是现有的代码库。

我遵循 Python Idioms and Efficiency的指导方针,作者: Rob Knight。我认为他们是完全相同的 PEP 8,但更综合和基于例子。

如果您正在使用 wxPython,那么您可能还需要检查由 Chris Barker 编写的 WxPython 代码的样式指南

”在 Python 中,您通常使用 PEP 8—— Python 代码样式指南作为编码标准/指南吗?还有其他你更喜欢的正式标准吗?”

正如前面提到的,主文本遵循 PEP 8,docstring 约定遵循 PEP 257

Along with Python Style Guides, I suggest that you refer the following:

  1. 像 Python 一样的代码: 惯用 Python
  2. 常见的错误和缺点
  3. 如何不编写 Python 代码
  4. 巨蟒抓到你了

PEP 8是好的,唯一的事情,我希望它下来更严重的是标签对空间的圣战。

基本上,如果你开始在 python 项目,你需要选择标签或空间,然后拍摄所有违规者的视线。

在惯用指南的 Bhadra 的 名单中加入:

看看 Anthony Baxter 关于 有效的 Python 编程的演讲(OSON 2005)。

摘录如下:

# dict's setdefault method turns this:
if key in dictobj:
dictobj[key].append(val)
else:
dictobj[key] = [val]
# into this:
dictobj.setdefault(key,[]).append(val)

我一直很喜欢 PEP-8。

There are three specific things that I can't be bothered to change to PEP-8.

  • 避免在括号、括号或大括号内立即出现多余的空格。

    建议: spam(ham[1], {eggs: 2})

    无论如何我都要这么做: spam( ham[ 1 ], { eggs: 2 } )

    为什么?30多年来根深蒂固的习惯是依偎()的函数名或(在 C)语句的关键字。从70年代的 Fortran IV 开始。

  • 在算术运算符周围使用空格:

    Suggested: x = x * 2 - 1

    I do this anyway: x= x * 2 - 1

    为什么?格里斯的《编程科学》认为这是一种强调赋值和状态被改变的变量之间联系的方法。

    对于多重赋值或扩展赋值,它不能很好地工作,因为我使用了大量的空格。

  • 函数名、方法名和实例变量名

    建议: 小写,必要时用下划线分隔单词,以提高可读性。

    无论如何我都要这么做: 骆驼案

    为什么? 因为20多年来骆驼案例的根深蒂固的习惯,从80年代的帕斯卡开始。

I follow the PEP8, it is a great piece of coding style.