Python のインデント規則は何と呼ばれますか?

silencement
リリース: 2019-07-08 10:28:24
オリジナル
9225 人が閲覧しました

Python のインデント規則は何と呼ばれますか?

Python のインデントは、コードの範囲を決定します。これは従来の c/c とは大きく異なります (従来の c/c は中括弧 {} を使用してスコープのスコープを決定します。Python ではインデントされたスペースを使用してスコープのスコープを示し、同じインデントされたコード行が同じ行内にあります)。範囲)。

コードの各行の先頭にあるスペース (空白) の数は、コード行のインデント レベル (インデント レベル) を計算するために使用されます。タブは 1 ~ 8 個のスペースに置き換えられることに注意してください。 (スペースの特定の数。コンパイラによって数値は異なります)。インデント レベル 0 は、インデントされたスペースがないことを意味します。

ソース ファイル内でスペースとタブ インデント文字を同時に使用することはお勧めできません。他の人のコードを使用する場合、他の人がスペースとタブのどちらを使用しているかを知ることはほとんど不可能です。この場合、統一されたインデントを使用するのが最善です。IDEL エディターで [編集] > [領域のタブ化解除] を使用して、タブ文字をスペースに変換できます。

Python のすべてのステートメントにはインデント レベルがあり、インデント レベルはスタック データ構造を使用して保存されます。ファイルの読み取りを開始する前に、最初に 0 (インデント レベル 0、インデントなしを意味します) がスタックにプッシュされます。次に、論理コードの各行をファイルの最初から最後まで順番に読み取ります。論理コードの各行のインデント レベルがスタックの先頭の値と比較されます。それらが等しい場合は何も起こりません。この値がスタックの先頭の値より大きい場合は、論理コード行のインデント レベルがスタックにプッシュされ、インデント トークン (INDENT TOKEN) が生成されます。値がその値より小さい場合は、スタックの最上位にあると、論理コード行のインデント レベルよりも大きいスタック内のすべてのインデント レベルが生成され、その値がスタックから削除され、拡張トークン (DEDENT TOKEN) が生成されます。

以下は正しいインデントの場合です:

def perm(l):#0
        # Compute the list of all permutations of l
    if len(l) <= 1:# 1
                  return [l]# 2
    r = []# 3
    for i in range(len(l)):# 4
             s = l[:i] + l[i+1:]# 5
             p = perm(s)# 6
             for x in p:# 7
              r.append(l[i:i+1] + x)# 8
    return r# 9
ログイン後にコピー

以下は間違ったインデントの場合です

def perm(l):                       #1 error: first line indented
    for i in range(len(l)):             #2 error: not indented
        s = l[:i] + l[i+1:]
            p = perm(l[:i] + l[i+1:])   #3 error: unexpected indent
            for x in p:
                    r.append(l[i:i+1] + x)#4
                return r                #5 error: inconsistent dedent
ログイン後にコピー

以上がPython のインデント規則は何と呼ばれますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!