在python中,您通常使用PEP 8 -- Style Guide for Python Code作为编码标准/指南吗?您还有其他正式标准吗?
答案 0 :(得分:148)
“在python中,您通常使用PEP 8 - Python Code样式指南作为您的编码标准/指南吗?您还有其他正式标准吗?”
正如你所提到的那样,关注主要文本PEP 8,文档字符串约定关注PEP 257
与Python样式指南一起,我建议您参考以下内容:
答案 1 :(得分:14)
我遵循Rob Knight的Python Idioms and Efficiency指南。我认为它们与PEP 8完全相同,但更具合成性并基于实例。
如果您正在使用wxPython,您可能还想查看Chris Barker的Style Guide for wxPython code。
答案 2 :(得分:8)
我非常认真地坚持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
为什么呢?格里斯的“编程科学”认为这是一种强调分配与状态正在变化的变量之间联系的方法。
它不适合多次分配或增强分配,因为我使用了大量空格。
对于函数名称,方法名称和实例变量名称
建议:小写,必要时用下划线分隔,以提高可读性。
无论如何我这样做:camelCase
为什么呢? 20多年来根深蒂固的camelCase习惯,从80年代的Pascal开始。
答案 3 :(得分:5)
基本上如果你在python中启动一个项目,你需要选择Tabs或Spaces然后在视线上拍摄所有违规者。
答案 4 :(得分:5)
结帐Anthony Baxter关于Effective Python Programming的演讲(来自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 :(得分:4)
我非常严格地遵循它。 PEP-8之前唯一的神是现有的代码库。
答案 6 :(得分:2)
是的,我尽量密切关注它。
我没有遵循任何其他编码标准。
答案 7 :(得分:1)
我遵循PEP8,它是一种很棒的编码风格。