Python で TabError を修正

Fariba Laiq 2023年1月30日
  1. Python のインデントルール
  2. Python での TabError の原因
  3. Python で TabError を修正
Python で TabError を修正

Python は、最も広く使用されているプログラミング言語の 1つです。コードブロック(ループブロックや if 条件ブロックなど)に中括弧を使用する Java や C++ などの他のプログラミング言語とは異なり、インデントを使用してコードのブロックを定義します。

Python のインデントルール

定義された規則に従って、Python はインデントに 4つのスペースまたはタブを使用します。コードブロックはタブインデントで始まり、そのブロックの次のコード行はインデントされていません。

先頭の空白は、行の先頭のインデントレベルを決定します。特定のコードブロックのステートメントをグループ化するには、インデントレベルを上げる必要があります。

同様に、グループ化を閉じるには、インデントレベルを下げる必要があります。

Python での TabError の原因

Python はインデントに 4つのスペースまたはタブを使用しますが、コードの記述中に両方を使用すると、TabError:インデントでのタブとスペースの一貫性のない使用が発生します。次のコードでは、タブを使用して 2 行目と 3 行目をインデントし、スペースを使用して 4 行目をインデントしています。

サンプルコード:

# 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 を修正

残念ながら、このエラーを自動的に修正する簡単な方法はありません。コードブロック内の各行をチェックする必要があります。

この場合、この ----*のようなタブ記号が表示されます。空白にはこの記号はありません。したがって、4つのスペースまたはタブを一貫して使用することでコードを修正できます。

この例では、スペースをタブに置き換えて、TabError を修正します。以下は正しいコードです。

サンプルコード:

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


check(66)

出力:

#Python 3.x
Pass
Congratulations
著者: 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