ホームページ >バックエンド開発 >Python チュートリアル >Python の基本チュートリアル - インデントと選択
インデント
Python の最も特徴的な機能は、コードのブロックをマークするためにインデントを使用することです。以下では例として if 選択構造を使用します。 If の後に条件が続き、その条件が true の場合、if に属するコード ブロックが実行されます。
まず C 言語の式を見てみましょう (これは Python ではなく C であることに注意してください!)
if ( i > 0 ) { x = 1; y = 2; }
i > 0 の場合、括弧内に含まれる 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 に変更されると、if が偽の値 (False) に遭遇すると、x = x+1 は if に属し、この文はスキップされます。 print x にはインデントがなく、if の外側にあり、スキップせずに実行を継続します。
所属を示すためにスペース4つのインデントを使用するこの書き方は、今後も見られるでしょう。強制インデントにより、プログラムの可読性が向上します。
より複雑な 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
ここには 3 つのブロックがあり、if、elif、else によって導かれます。
Python は条件を検出します。if の条件が false であることが判明した場合は、次のブロックをスキップし、まだ false である場合は次の elif の条件を検出します。
上記の構造により、プログラムは3つの分岐に分かれます。プログラムは、条件に基づいて 3 つの分岐のうち 1 つだけを実行します。
if 全体を別の if ステートメントに配置できます。これは、if 構造のネストされた使用法です。
i = 5 if i > 1: print 'i bigger than 1' print 'good' if i > 2: print 'i bigger than 2' print 'even better'
if i > 2 次のブロックは、その所属を示すために、if に対してスペース 4 つインデントされています。外側の if ではなく、この if。
概要
if文
の後のコロンは、所属を示すためにスペース4つでインデントされています
if <条件1>: statement elif <条件2>: statement elif <条件3>: statement else: statement