Python编码标准/最佳实践

在Python中,你是否一般使用PEP 8 – Python代码风格指南作为你的编码标准/指南? 还有其他的正式标准吗?

“在python中,你通常使用Python代码的PEP 8风格指南作为你的编码标准/指南吗?你还有其他任何forms化的标准吗?

正如您所提到的,您遵循正文的PEP 8 ,以及docstring约定的PEP 257

随着Python风格指南,我build议你参考以下内容:

  1. 像Pythonista一样的代码:习惯Python
  2. 常见的错误和疣
  3. 如何不写Python代码
  4. Python陷阱

我遵循罗布·奈特(Rob Knight)的Python成语和效率指南。 我认为它们和PEP 8完全一样,但是更合成化,并且基于实例。

如果你使用的是wxPython,你也可以通过Chris Barker来检查wxPython代码的样式指南 。

我非常密切地坚持PEP-8。

有三个具体的东西,我不能改变为PEP-8。

  • 立即在圆括号,括号或括号内避免无关的空格。

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

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

    为什么? 30年以上的根深蒂固的习惯是依靠函数名称或(C)语句中的关键字。 从70年代的Fortran IV开始。

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

    build议: x = x * 2 - 1

    无论如何,我这样做: x= x * 2 - 1

    为什么? 格里斯的“编程科学”认为这是一种强调赋值与状态正在变化的variables之间的联系的方式。

    它不适用于多个任务或增强的任务,因为我使用了大量的空间。

  • 对于函数名称,方法名称和实例variables名称

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

    无论如何,我也是这样做的:camelCase

    为什么? 从20世纪80年代的帕斯卡开始,骆驼起源于20多年的根深蒂固的习惯。

要添加到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是好的,我唯一希望得到的东西就是Tabs-vs-Spaces圣战。

基本上,如果你在python中开始一个项目,你需要selectTabs或者Spaces,然后把所有的罪犯射杀。

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

是的,我试图尽可能地遵循它。

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

我遵循PEP8,这是一个伟大的编码风格。