为了账号安全,请及时绑定邮箱和手机立即绑定

为什么Python pep-8强烈建议在制表符上使用空格来缩进?

为什么Python pep-8强烈建议在制表符上使用空格来缩进?

小怪兽爱吃肉 2019-11-12 13:56:45
我在Stack Overflow和PEP 8上看到,建议是仅将空格用于缩进Python程序。我能理解保持一致的缩进的必要性,我已经感到了痛苦。是否存在首选空间的根本原因?我本以为使用选项卡要容易得多。
查看完整描述

3 回答

?
幕布斯6054654

TA贡献1876条经验 获得超7个赞

答案是在PEP中给出的[ed:此段落已于2013年编辑]。我引用:


缩进Python 的最流行方法是仅使用空格。


您还需要其他哪些根本原因?


坦率地说:如第一段所述,还要考虑PEP的范围:


本文档给出了Python代码的编码约定,该Python代码包含主Python发行版中的标准库。


目的是使正式python发行版本中的所有代码都保持一致的格式(我希望我们可以同意这是普遍适用的Good Thing™)。


由于对于单个程序员而言,空格和制表符之间的决定是a)确实是个问题,并且b)可以通过技术手段(编辑器,转换脚本等)轻松解决,因此有一种明确的方法可以结束所有讨论:选择一个。


Guido是一个可供选择的人。他甚至不必给出理由,但他仍然通过引用经验数据来做到这一点。


出于所有其他目的,您可以将此PEP作为建议,也可以忽略它-您的选择,团队的选择或团队的领导者。


但是,如果我能给您一个建议:请不要混合使用它们;-) [ed:不再将制表符和空格混合在一起。]


查看完整回答
反对 回复 2019-11-12
?
白衣染霜花

TA贡献1796条经验 获得超10个赞

好吧,似乎每个人都强烈偏爱空间。我专门使用制表符。我很清楚为什么。


制表符实际上是一个很酷的发明,它紧随空格之后。它使您可以缩进而无需数百万次按空格或使用伪造的制表符(产生空格)。


我真的不明白为什么每个人都在区别使用制表符。这非常像老年人歧视年轻人,因为他们选择了更新的更有效的技术,并抱怨脉冲拨号不仅在这些花哨的新手机上而且在每部电话上都适用。“音调拨号并非在所有电话上都有效,这就是为什么它是错误的”。


您的编辑器无法正确处理标签?好吧,请一位现代编辑。也许该死的时代,我们现在处于21世纪,而编辑器是高科技复杂软件的时代已经过去很久了。现在,我们有无数的编辑者可供选择,所有这些人都支持选项卡。此外,您可以定义制表符应有多少,而空格则无法做到。看不到标签?那是什么意思呢?好吧,您也看不到空格!


我可以这么大胆地建议找一个更好的编辑器吗?这些高科技产品之一,已经在10年前发布了,它们显示了看不见的字符?(嘲讽)


使用空格会导致更多的删除和格式化工作。这就是为什么(以及所有其他知道这一点并同意我的人)使用Python的选项卡的原因。


制表符和空格的混合是不行的,对此也不存在任何争论。那是一团糟,永远无法正常工作。


查看完整回答
反对 回复 2019-11-12
?
Helenr

TA贡献1780条经验 获得超3个赞

我个人不同意制表符上的空格。对我而言,制表符是文档布局的字符/机制,而在代码情况下,空格用于表示命令之间的内容或命令之间的轮廓。


即制表符并不是真正的问题,这是人们以及他们想如何混合使用制表符和空格。


就是说,为了惯例起见,我强迫自己使用空格。我重视一致性而非个人喜好。


查看完整回答
反对 回复 2019-11-12
  • 3 回答
  • 0 关注
  • 569 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信