修復 Python 中的 TabError

Fariba Laiq 2023年1月30日 2022年7月18日
  1. Python 中的縮排規則
  2. Python 中 TabError 的原因
  3. 修復 Python 中的 TabError
修復 Python 中的 TabError

Python 是使用最廣泛的程式語言之一。與其他程式語言(如 Java 和 C++ 等)使用花括號表示程式碼塊(如迴圈塊或 if 條件塊)不同,它使用縮排來定義程式碼塊。

Python 中的縮排規則

根據定義的約定,Python 使用四個空格或一個製表符進行縮排。程式碼塊以製表符縮排開始,該塊之後的下一行程式碼不縮排。

前導空格確定行首的縮排級別。我們需要增加縮排級別來對特定程式碼塊的語句進行分組。

同樣,我們需要降低縮排級別以關閉分組。

Python 中 TabError 的原因

Python 使用四個空格或一個製表符進行縮排,但如果我們在編寫程式碼時同時使用這兩個空格,則會引發 TabError:在縮排中製表符和空格的不一致使用。在下面的程式碼中,我們使用製表符縮排了第二行和第三行,使用空格縮排了第四行。

示例程式碼:

#Python 3.x
def check(marks):
    if(marks>60):
        print("Pass")
        print("Congratulations")
check(66)

輸出:

#Python 3.x
File "<ipython-input-26-229cb908519e>", line 4
    print("Congratulations")
                            ^
TabError: inconsistent use of tabs and spaces in indentation

修復 Python 中的 TabError

不幸的是,沒有簡單的方法可以自動修復此錯誤。我們必須檢查程式碼塊中的每一行。

在我們的例子中,我們可以看到類似 ----* 的製表符符號。空格沒有這個符號。所以我們可以通過一致地使用四個空格或製表符來修復程式碼。

在我們的例子中,我們將用製表符替換空格來修復 TabError。以下是正確的程式碼。

示例程式碼:

#Python 3.x
def check(marks):
    if(marks>60):
        print("Pass")
        print("Congratulations")
check(66)

輸出:

#Python 3.x
Pass
Congratulations
Author: Fariba Laiq
Fariba Laiq avatar Fariba Laiq avatar

I am Fariba Laiq from Pakistan. An android app developer, technical content writer, and coding instructor. Writing has always been one of my passions. I love to learn, implement and convey my knowledge to others.

LinkedIn

相關文章 - Python Error