欢迎各位兄弟 发布技术文章

这里的技术是共享的

You are here

IndentationError: unexpected indent python

shiping1 的头像
  都知道python是对格式要求很严格的,写了一些python但是也没发现他严格在哪里,今天遇到了IndentationError: unexpected indent错误我才知道他是多么的严格。 
    以后遇到了IndentationError: unexpected indent你就要知道python编译器是在告诉你“Hi,老兄,你的文件里格式不对了,可能是tab和空格没对齐的问题,你需要检查下tab和空格了”。 
    在windows上你可以用editplus看的,虽然我不知道怎么显示出tab,但是他能显示你的文件是没对齐的,我是在ubuntu上编写python的。我用的是vim,你可以设置下vim中tab用空格替换,我在前一篇文章里写过关于这个设置的问题,我现在在补充一下,之前是在系统目录下设置的,现在我要在home目录下设置; 
    首先 cd ~(到你的home目录) 
    然后 ls -a(显示隐藏的文件) 
    找到.vimrc(记得是带个点前缀的) 
    然后编辑这个文件 
    找到如下的命令: 
16 set autoindent 
17 set smartindent 
19 set tabstop=4 
20 set shiftwidth=4 
21 set softtabstop=4 
22 set noexpandtab
 
    然后在set tabstop=4前面加上set expandtab同时你需要把set noexpandtab这个注释掉,怎么注释呢,就是加个双引号。我没试过直接注释不加set expandtab,我想也可以(难道默认是expandtab)。这样你可以放心使用VIM了。 
     当然我并不是想就这样完事,我其实想看下我的代码到底哪里会有问题呢,就需要看下他的格式了,主要是看tab,这个可以同样在刚才那个文件里设置,在刚才设置的下面比如说 
在set softtabstop=4下面加上一句set list。这句就可以让你的vim打开的文件显示出tab了,当然也许你觉得显示的不好看,他显示的样子是“^I”一个数字键6上那个符号和一个大写的I表示一个tab,这个不会显示出空格。他还会显示出段落的起始符^和终止符$,如果不知道这2个符号可以看下正则表达式。 
     以上2点设置以后,我想以后你就不会遇到IndentationError: unexpected indent这个很烦人的错误了。 
    以上的set命令都可以单独使用,但是只对当前打开的vim有效,你可以按下shift加冒号,然后输入set XXX,回车然后就有效果了,但是你要再次进入编辑模式才能看到。 
    希望分享给每个写python的人。
来自  http://dikar.iteye.com/blog/308934

python3.4 编译时提示错误 IndentationError: unexpected indent
2014-05-15      0 个评论    来源:python3.4 编译时提示错误 IndentationError: unexpected indent  
收藏    我要投稿

问题描述:

编译(好吧,应该叫“解释”)一段python程序时提示很特殊的错误:

IndentationError: unexpected indent

如图:

\

 

问题分析:根据下面编译后(解释后)的错误提示,说是print的“p”是一个IndentationError:unexpected indent,什么意思呢?

indentation是缩进,缩排的意思。unexpected indent 就是说“p”是一个“意外的”缩进。也就是说,这里的问题就是指“p”是一个意外的缩进。通过查看源代码可知一共两句代码,第一句这里的确是缩进了一个字符位。据此推断,我们把这句话的缩进取消,也就是顶格写(顶格这个单词突然让我想到了小学语文课),解释一下后会出现什么结果呢?

我们实验一下:

\

现在,两句代码都实现了“顶格”写,解释后果然没有问题了。

那么为了进一步证明“一定要顶格写每一句话才行”,我们保持第一句代码顶格,而让第二句话缩进一个字符位。进行解释。<喎�"http://www.2cto.com/kf/ware/vc/" target="_blank" class="keylink">vcD4KPHA+PGltZyBzcmM9"http://www.2cto.com/uploadfile/Collfiles/20140515/20140515090701152.jpg" alt="">

结果果然提示第二行是IndentationError,缩进错误。

至此,我们得出结论:

在python中,每一句代码都应该顶格写。

来自   http://www.2cto.com/kf/201405/301030.html



普通分类: