Python选项卡假或真实

时间:2010-12-14 15:33:56

标签: python character-encoding

许多教程建议用户使用宽度为4的制表符,而使用空格而不是真正的制表符制作4。使用真正的标签也可以,所以为什么人们建议使用4而不是真正的标签?我是一个蟒蛇初学者迷茫????

[UPDATE] 谢谢!我现在转到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 个答案:

答案 0 :(得分:2)

Python编译器认为制表符相当于8个空格的缩进。如果您愿意,可以使用制表符,但混合制表符和空格会导致棘手的调试错误,这就是为什么建议使用空格。

答案 1 :(得分:1)

只要将制表符添加到文件中,就会出现混合制表符和空格的情况,然后您将开始解析错误。当多个人正在处理项目并且他们的间距设置彼此不同时,这会变得更糟。

PEP8推荐“4个空格”:http://www.python.org/dev/peps/pep-0008/

这个建议是根据经验制定的,处理Python中混合制表符和空格带来的各种问题。更好的是为了节省你的痛苦,只需要为你的Python代码使用4个空格。

答案 2 :(得分:1)

我可以考虑的唯一原因可能是,如果您没有设置编辑器以使用tabstop=4(例如,在VIM中),您的代码行将会更长,并且阅读这样的代码将会很不方便码。唯一的规则应该是不要混合制表符和空格,我想(我已经看过代码,其中单个缩进是四个空格而双缩进是一个制表符。它太可怕了。)

答案 3 :(得分:1)

许多(如果不是大多数)编辑器会将标签内联转换为用户定义的空格数。设置为4,你就可以回家了。当你在一个没有标准化4个空间概念的团队中时,真正的痛苦就来了。