nis*_*isc 42 python coding-style idioms
哪个是首选("."表示空格)?
一个)
def foo():
x = 1
y = 2
....
if True:
bar()
Run Code Online (Sandbox Code Playgroud)
B)
def foo():
x = 1
y = 2
if True:
bar()
Run Code Online (Sandbox Code Playgroud)
我的直觉是B(这也是vim对我的影响),但我看到人们一直在使用A).是不是因为那里的大多数编辑都破了?
YOU*_*YOU 37
如果你使用A,你可以复制粘贴你的块在python shell中,B将得到意外的缩进错误.
Mic*_*yan 24
该PEP 8似乎并没有在这个问题上明确,但关于"空行"的表述也有利于B.该PEP 8风格检查的解释(pep8.py)喜欢B和如果您使用警告; 但是,这两种变化都是合法的.我自己的观点是,由于Python在任何一种情况下都会成功地解释代码并不重要,并且试图强制执行它将会获得很多收益.我想如果你非常坚决地支持其中一个,你可以自动将一个转换为另一个.然而,试图手动修复所有这些线路将是一项艰巨的任务,真的不值得努力,恕我直言.
Zag*_*ags 13
为空行添加适当的缩进(问题中的样式A)极大地提高了启用显示空白的代码可读性,因为它可以更容易地查看空行后的代码是否是同一缩进块的一部分.
对于像Python这样没有结束语或近括号的语言,我很惊讶这不是PEP的一部分.强烈建议使用显示空格来编辑Python,以避免尾随空格和混合缩进.
比较阅读以下内容:
一个)
def foo():
....x = 1
....y = 2
....
....if True:
........bar()
Run Code Online (Sandbox Code Playgroud)
B)
def foo():
....x = 1
....y = 2
....if True:
........bar()
Run Code Online (Sandbox Code Playgroud)
在A中,最后两行是其中一部分的更清楚foo.这在更高的压痕水平下更有用.
| 归档时间: |
|
| 查看次数: |
8457 次 |
| 最近记录: |