![](/img/trans.png)
[英]Pycharm TabError: inconsistent use of tabs and spaces in indentation
[英]What is TabError: inconsistent use of tabs and spaces in indentation and why is it raised?
我在Python實習的時候用了兩個不同的編輯器,VSCode和Notepad,因為出門幾周要在不同的電腦上寫程序。
但是,在記事本中,與 VSCode 不同,編輯器沒有進行必要的縮進,所以我手動將它們縮進了空格。
但是在運行程序的時候遇到了這個錯誤,
TabError: inconsistent use of tabs and spaces in indentation
我根本不知道這是什么,希望有人解釋一下。
我看到一個問題, “縮進中制表符和空格的使用不一致” ,但是在記事本中,答案中沒有提到任何選項。
Python 依賴於具有正確的縮進來識別相同代碼塊中的行。 這就是將語句組合在一起並以 Python 可以按正確順序理解它們的方式組織的原因。 雖然 4 個空格或 1 個制表符通常被視為 Python 中通常遵循的縮進做法,但您實際上可以做任何您想做的事情,只要您的縮進在組件需要網格的塊中排列。 例如,使用具有 3 個縮進空格的 if 語句將不會被視為與具有 5 個縮進空格的后續 else 語句在同一代碼塊中。
您在使用記事本時遇到的問題是由於基本記事本不是很好的 IDE。 堅持使用 VSCode。
TabError: inconsistent use of tabs and spaces
當您在 Python 中為縮進混合制表符和空格時,會引發。
當您同時使用制表符和空格進行縮進時,Python 解釋器會引發異常,即TabError
。
所以在縮進 Python 代碼時不要混淆制表符和空格。
要么只使用空格,要么只使用空格。
但我建議使用標簽,因為它們更容易使用。
順便說一句,我認為在記事本中沒有這樣做的選項。 嘗試任何其他 IDE 或在線編輯器。
您有混合的空格和制表符。 要解決這個問題,您可以使用命令:ctrl + H 將 vscode 中的所有制表符替換為空格。此外,您可以隨時使用在線編輯器online_vscode
這是因為您的代碼中混合了制表符和空格。
for i in loop:
print(i) # with tab
print(i) # with 4 spaces
>>> TabError: inconsistent use of tabs and spaces in indentation
此代碼將出現異常,例如您的TabError: inconsistent use of tabs and spaces in indentation
。
您必須在制表符和 4 個空格之間選擇一個(實際上可以是任意數量的空格)。
為了解決您在記事本中的問題,您可以將所有 4 個空格轉換為制表符,如下所示: 在 Notepad++ 中將制表符轉換為空格
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.