縮進,unexpected indent


用4個空格,或者設置Tab代替4個空格。
 
對Spyder設置PEP8規則檢測警告,可以有效改善編碼習慣:
Preferences > Editor > Code Introspection/Analysis,然后勾選Style analysis(PEP8)。
 

https://blog.csdn.net/zxy131072/article/details/86147031

在不同的編輯器里tab的長度可能不一致,所以在一個編輯器里用tab設置縮進后,在其它編輯器里看可能縮進就亂了。空格不會出現這個問題,因為空格就占一個字符的位置。Tab在ASCII碼中,編碼是9,而空格是32。其實,很多IDE對Tab鍵做了各種各樣的優化,其中有一條就是,將Tab鍵展開為為空格,也就是說,當你按下Tab的時候,IDE實際上幫你把一個「9」轉換成了四個(或者八個)「32」。但是要注意,不是所有的IDE都幫你做了這樣的工作!既然Tab在不同的環境下展現不一樣,而空格卻永遠都是一樣的。對於一些細致排版縮進來說(比如說想把每一行的注釋都對齊),用空格也更加精確。這樣看起來,確實是用空格來寫代碼要好於用Tab。

簡單來說, 因為 python 用縮進來取代了 {} , 而空格或是 tab 都是合乎語法的縮進, 但因為空格和 tab 都是看不到的, 所以, 為了避免有人時而用 tab, 時而用空格來做縮進而做成了 bug, 所以, 在軟規范里, 大家都約定用空格做縮進.如果你還想問為甚麼要約定用空格而不用 tab 呢 ? 那是因為不同的編輯器會對 tab 進行不一致的距離演譯, 而用空格的話, 就不會有這個問題。

--python3不允許混合使用space和tab;

--python2傾向於將混合使用的space和tab轉換為唯一的space;

 

unexpected indent問題,可以考慮以下幾個解決辦法:

1.檢查是否不應該使用空格的地方使用了空格或Tab,檢查是否有縮進,縮進量是否對,縮進和空格是否有混用。

2.注釋有時候也會影響,所以注釋的縮進也應引起注意。

3.尤其對於縮進和空格是否有混用,可以用文本編輯器Notepad++把當前python腳本的所有空格或Tab字符都顯示出來查看。

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM