Python编码标准/最佳实践
在Python中,你是否一般使用PEP 8 – Python代码风格指南作为你的编码标准/指南? 还有其他的正式标准吗?
“在python中,你通常使用Python代码的PEP 8风格指南作为你的编码标准/指南吗?你还有其他任何forms化的标准吗?
正如您所提到的,您遵循正文的PEP 8 ,以及docstring约定的PEP 257
随着Python风格指南,我build议你参考以下内容:
- 像Pythonista一样的代码:习惯Python
- 常见的错误和疣
- 如何不写Python代码
- 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,这是一个伟大的编码风格。