簡體   English   中英

什么是 TabError:縮進中制表符和空格的使用不一致,為什么會出現?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM