问题:Python编码标准/最佳实践
在python中,您通常使用PEP 8-Python代码样式指南作为您的编码标准/准则吗?您还有其他更喜欢的正式标准吗?
回答 0
“在python中,您通常使用PEP 8-Python代码样式指南作为您的编码标准/准则吗?您是否还需要其他正式的标准?”
如您所提到的,请遵循PEP 8作为主要文本,并遵循PEP 257作为文档字符串约定
与Python样式指南一起,建议您参考以下内容:
回答 1
我遵循Rob Knight 撰写的Python习语和效率指南。我认为它们与PEP 8完全相同,但更多是基于实例的综合。
如果您使用的是wxPython,则可能还需要查看Chris Barker 撰写的wxPython代码的样式指南。
回答 2
我非常坚持PEP-8。
我有三件事要更改为PEP-8。
避免在括号,方括号或大括号内立即使用多余的空格。
建议:
spam(ham[1], {eggs: 2})
无论如何,我这样做:
spam( ham[ 1 ], { eggs: 2 } )
为什么?30多年的根深蒂固的习惯使()与函数名或C语言中的语句关键字不符。从70年代的Fortran IV开始。
在算术运算符周围使用空格:
建议:
x = x * 2 - 1
无论如何,我这样做:
x= x * 2 - 1
为什么?Gries的《编程科学》建议这是强调赋值与状态被更改的变量之间的联系的一种方式。
对于多重分配或扩充分配,它不太适用,因为我使用了大量空格。
对于函数名称,方法名称和实例变量名称
建议:小写,单词之间用下划线分隔,以提高可读性。
我还是这样做:camelCase
为什么?从80年代的Pascal开始,有20多年根深蒂固的camelCase习惯。
回答 3
PEP 8很好,我唯一希望它更难解决的是Tabs-vs-Spaces的神圣战争。
基本上,如果您要使用python启动项目,则需要选择“制表符”或“空格”,然后立即将所有违规者开枪。
回答 4
查阅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)
回答 5
我非常严格地遵循它。PEP-8之前唯一的神是现有的代码库。
回答 6
是的,我会尽量紧跟其后。
我没有遵循任何其他编码标准。
回答 7
我遵循PEP8,这是很棒的编码风格。