python問題unindent does not match any outer indentation level在pycharm平臺的解決方法2018-11-17

python問題unindent does not match any outer indentation level在pycharm平臺的解決方法

python對縮進具有嚴格的要求

稍微一步留神就會發(fā)生unindent does not match any outer indentation level的錯誤,發(fā)生錯誤的原因一般有三點:

1、代碼前后縮進量不一致

可以看到def前面有紅色小波浪線,說明在這里出現了縮進錯誤,顯然def前面的注釋縮進量和def不一致(一個為2一個為4),改成一致就好了

2、代碼前后縮進符號不一致

上圖中兩個函數的定義前面縮進都是一樣的,但是在x=3后面出現錯誤提示,說明在句附近(前后)出現了縮進錯誤,將鼠標移到高亮黃色區(qū)域或者紅色波浪線錯誤區(qū)域都會顯示錯誤信息:

從錯誤信息中可以看到,x=3與下面的縮進不匹配,進一步在第二幅圖中可以看到提示:不連續(xù)的縮進,上一行的縮進使用的tab縮進而這一行使用的是sapce縮進,顯然,將def test2前面的縮進改成tab就OK了

同樣,將y=3前面的縮進也修改一下就行了

3、tab與space混用

這個很顯然,如果你在一段代碼前面即使用空格又使用tab進行縮進,自然會發(fā)生錯誤,這個時候pycharm會自動進行判斷,根據你設置的預先縮進值(intentaion)進行調整

你設置的縮進值上面的設置中進行設置,一般為4,上圖為3。

如果你打開別人的python程序或者python腳本,很有可能出現縮進錯誤,這時只要修改錯誤地方的縮進量即可?;蛘呤褂萌痔鎿Q對代碼中的空格和縮進進行替換

采用Crtl+H的快捷鍵進行替換即可

在上圖中統(tǒng)一將制表符tab(\t)替換為4個空格,注意在替換符號時需要勾選Regex選項,圖中綠色區(qū)域為tab區(qū)域,黃色區(qū)域為空格區(qū)域

?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

友情鏈接更多精彩內容