Python的制表符是伪的还是实的

0 投票
4 回答
841 浏览
提问于 2025-04-16 08:31

很多教程建议用户使用宽度为4的制表符,但实际上是用空格来代替真正的制表符。使用真正的制表符也可以,那为什么大家都建议用4个空格而不是实际的制表符呢?我作为一个Python初学者,感到很困惑????

[更新] 感谢大家!我现在开始使用4个空格了。

我在我的.vimrc文件中添加了以下内容:

"Python

au BufRead,BufNewFile *.py,*pyw set shiftwidth=4
au BufRead,BufNewFile *.py,*.pyw set expandtab
fu Select_c_style()
    if search('^\t', 'n', 150)
        set shiftwidth=8
        set noexpandtab
    el 
        set shiftwidth=4
        set expandtab
    en
endf

对于其他情况:

set noexpandtab                " tabs are tabs, not spaces

4 个回答

1

我能想到的唯一原因是,如果你没有把编辑器设置成使用 tabstop=4(比如在 VIM 编辑器里),那么你的代码行可能会变得很长,这样阅读起来就会很不方便。我的建议是,尽量不要混用制表符和空格。我见过一些代码,单个缩进用的是四个空格,而双重缩进却用的是一个制表符,这样看起来真的很糟糕。

2

Python编译器把一个制表符(Tab)当作8个空格的缩进来处理。你可以选择使用制表符,但如果把制表符和空格混在一起用,就会出现很难调试的错误。因此,建议大家还是统一使用空格来缩进。

1

一旦你在文件中使用了制表符(Tab),就会出现混合使用制表符和空格的情况,这样就容易导致解析错误。尤其是在多个开发者一起合作的时候,如果他们的空格设置不一致,问题会更加严重。

PEP8建议使用“4个空格”:http://www.python.org/dev/peps/pep-0008/

这个建议是基于经验的,因为在Python中混合使用制表符和空格会带来很多麻烦。为了避免这些麻烦,最好还是统一使用4个空格来编写你的Python代码。

撰写回答