Python:使用4个空格缩进。为什么?

2024-03-29 13:43:12 发布

您现在位置:Python中文网/ 问答频道 /正文

在编写python代码时,我只使用了2个空格来缩进,当然PEP-8确实建议使用4个空格,但对我来说,这在历史上并不常见。

那么,有人能说服我用4个空格而不是2个吗?什么利弊?

最后,有什么简单的方法可以将所有现有的代码库从2个空间转换为4个空间?


p.p.S.PEP-8还强烈建议不要使用制表符缩进。read here


所以,总结一下:

优点:

  • 当缠绕超过80行的绳子时,要有更大的空间来安排。
  • 可以从代码片段中复制代码,而且它只起作用。

缺点:

  • 嵌套语句层次越深,实际代码的空间就越小。

谢谢。


Tags: 方法代码readhere空间语句建议制表符
3条回答

我喜欢四个空格字符可以很好地缩进函数的内部代码,因为def+one空格可以生成四个字符。

def·foo():
····pass

其他人使用4个空格。这是我遇到并接受的使用4个空格的唯一原因。在我心中,我仍然想使用制表符(每缩进一个缩进字符,有意义,不是吗?将缩进与其他空白分开。我不在乎制表符是否可以显示为不同的宽度,这不会造成语法上的差异。可能发生的最糟糕的情况是,一些评论没有排成一行。恐怖!)但是我已经接受了,因为整个python社区使用4个空格,所以我使用4个空格。这样,我就可以从其他人写的代码片段中组装代码,并且一切正常。

我想真正的问题是为什么空格而不是制表符。

标签显然更好:

  • 这使得几乎不可能有不一致的缩进(我见过通常有4个空格缩进的代码,但是有些部分恰好有一个空格,很难通过简单的检查判断是否有7或8个空格。。。这在tabs中是不会发生的,除非您将tabstop设置为1个空格)。
  • Tab是缩进的逻辑语义表示,它允许您(和任何其他开发人员)选择显示所需的“空格”(或者更确切地说是列),而不干扰其他人的偏好。
  • 如果您手头只有“记事本”(或其他虚拟编辑器),则按键也会减少。
  • 添加和删除选项卡是一个对称的操作。大多数IDE在按tab键时可能会自动插入4个空格,但通常在按backspace键时只删除1个空格(取消缩进操作仍然可以作为shift tab访问,但这是两个键的组合),或者使用鼠标在缩进的中间单击并删除一个字符。
  • 它们只占用1个字节,而不是4个字节(乘以数千行,就节省了几KB!:p页)
  • 你还有一件事要解决协议,因为如果你决定去寻找空位,那么讨论会再次开始,选择多少(尽管共识似乎在四个左右)。

空间优势:

  • 圭多喜欢他们。
  • 你不能轻易地在这里键入一个标签,它会转移焦点(尽管你可以粘贴一个)。

相关问题 更多 >