インデント
Python の最も特徴的な機能は、インデントを使用してモジュールを記述することです。以下に if 選択構造を例に挙げてみましょう。 if の後には条件が続き、その条件が true の場合、if に属するいくつかのステートメントが実行されます。
まず C 言語の式を見てみましょう (これは Python ではなく C であることに注意してください!)
if ( i > 0 )
{
x = 1;
y = 2;
}
このステートメントは、i>1 の場合、括弧内に含まれる 2 つの代入演算を実行することを意味します。
括弧内に含まれるのはブロック演算で、その中のステートメントが if に属することを示します。
Python では、同じ目的で、この部分は次のようになります
if i > 0:
x = 1
y = 2
Python では、i > 0 の周りのかっこが削除され、セミコロンが削除されます各ステートメントの末尾にある が削除され、ブロックを示す中括弧が消えました。
if... の後に (コロン) が追加されており、x = 1 と y =2 の前に 4 つのスペースのインデントがあります。インデントにより、Python はこれら 2 つのステートメントが if に属していることを認識します。
Python がこのように設計されている理由は非常に単純で、プログラムの見栄えを良くするためです。
if ステートメント
ifDemo.py という名前の完全なプログラムを作成します。このプログラムは if 構造を実装するために使用されます。
i = 1
x = 1
if i > 0:
x = x+1
print x
$python ifDemo.py #
プログラムを if に実行すると、条件は True、したがって、x = x+1 が実行されます。
print x ステートメントはインデントされていないため、if の外側にあります。
最初の文が i = -1 に変更されると、偽の値 (False) に遭遇した場合、x = x+1 は if に属し、この文はスキップされます。 print x にはインデントがなく、if の外側にあり、スキップせずに実行を継続します。
この、スペース 4 つのインデントを使用して所属を示すこの書き方は、今後も見られるものです。 Python はプログラムの読みやすさを重視します。インデントを強制するという要件により、プログラマはクリーンなプログラムを作成できます。
より複雑な if 選択:
i = 1
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
ここには if、elif で区切られた 3 つのブロックがあります、そうでない場合はリードします。
Python は条件を検出します。if の条件が false であることが判明した場合は、次のブロックをスキップし、まだ false である場合は次の elif の条件を検出します。
上記の構造を通じて、プログラムは実際には 3 つの分岐に分かれています。プログラムは、条件に基づいて 3 つの分岐のうち 1 つだけを実行します。
if 全体を別の if ステートメントに配置できます。これは、if 構造のネストされた使用法です:
i = 5
if i > 1:
print 'i big than 1'
print 'good'
if i > 2:
print 'i big than 2'
print 'even better'
if i > 2 次のブロックは、if に属することを示すために、if に対してスペース 4 つインデントされています。アウターイフの。
summerifing IFステートメントの後のコロンは、提携を示すために4つのスペースでインデントされています。
elif:
ステートメント
else:
ステートメント