インデント
Python の最も特徴的な機能は、コードのブロックをマークするためにインデントを使用することです。以下では例として if 選択構造を使用します。 If の後に条件が続き、その条件が true の場合、if に属するコード ブロックが実行されます。
まず C 言語の式を見てみましょう (これは Python ではなく C であることに注意してください!)
i > 0 の場合、括弧内に含まれる 2 つの代入演算を実行します。括弧内は if に属するブロック演算です。
Python では、同じ目的で、この部分は次のようになります
Python では、i > 0 を囲む括弧が削除され、各ステートメントの末尾のセミコロンが削除され、ブロックを示す中括弧も消えます。
if... の後に余分な :(コロン) があり、x = 1 と y =2 の前に 4 つのスペースのインデントがあります。インデントにより、Python はこれら 2 つのステートメントが if に属していることを認識します。
Python がこのように設計されている理由は、純粋にプログラムの見栄えを良くするためです。
if ステートメント
完全なプログラムを作成し、ifDemo.py という名前を付けます。このプログラムは if 構造を実装するために使用されます。
$python ifDemo.py # 実行
プログラムが if まで実行されると、条件は True であるため、x = x+1 が実行されます。
print x ステートメントはインデントされていないため、if の外側にあります。
最初の文が i = -1 に変更された場合、偽の値 (False) に遭遇した場合、x = x+1 は if に属し、この文はスキップされます。 print x にはインデントがなく、if の外側にあり、スキップせずに実行を継続します。
所属を示すために 4 つのスペースのインデントを使用するこの書き方は、今後も見られるでしょう。強制インデントにより、プログラムの可読性が向上します。
より複雑な if 選択:
if i > 0:
print 'positive i'
i = i + 1
elif i == 0:
print 'i is 0'
i = i * 10
else:
print 'negative i'
i = i - 1
print 'new i:',i
ここには 3 つのブロックがあり、if、elif、else によって導かれます。
Python は条件を検出します。if の条件が false であることが判明した場合は、次のブロックをスキップし、まだ false である場合は次の elif の条件を検出します。
上記の構造により、プログラムは 3 つの分岐に分かれます。プログラムは、条件に基づいて 3 つの分岐のうち 1 つだけを実行します。
if 全体を別の if ステートメントに配置できます。つまり、if 構造をネストして使用できます。
if i > 2 次のブロックは、外側の if ではなく if に属することを示すために、if に対してスペース 4 つインデントされています。
概要
if ステートメントの後のコロン
所属を示すために 4 つのスペースのインデントを使用します。Python では、自由にインデントできません。
ステートメント
elif :
ステートメント
elif :
ステートメント
その他:
ステートメント