プログラムが複雑になってくると、条件によって動作が変わるように処理させたいことが必ずあります。
もちろん Python
でもそのような処理を使っていくことになります。
代表的な例として、
if 文
while 文
for 文
がありますね。
その他に、関数を定義する def
などもあります。
このような構文を「制御フロー文」といいます。
今回は、この制御フロー文の定義方法の複合文とブロックについてまとめました。
[q3-adsense01]
複合文とは
複合文とはこういう定義がされていました。
複合文とは他の文を内部に持ち、内部の文を実行するかどうかなどの制御をコントールするもの
具体的には「ヘッダ行」があり、それに付随する「文のまとまり」と併せたものを複合文といいます。
ヘッダ行
Python
のヘッダ行は「:」(コロン)で終わります。
if a < b: #ヘッダ行
条件式には () [] {}
を入れることも可能ですが、Python
では基本的には付けません。
もし、ヘッダ行を改行したい時がある場合、これらを使って改行できます。
if ( a < b,
and c < d,
and e < f,
and g < h ): # 複数行で書ける
ブロックとは
複合文の「文のまとまり」をブロックといいます。
ブロックのまとめ方は、言語によってさまざまです。
ヘッダ { }
ヘッダ end
などがあります。
Python
では、「インデント」でブロックを作っています。
[q3-adsense01]
ブロックを作るインデント
インデント(字下げ)によって、一つのブロックを表現します。
インデントの数は任意の個数でOKですが、同じブロックに含まれる文は同じインデントの数である必要があります。
インデントはスペースでもタブでもOKです。
ヘッダ行: # スペース2つでインデントを表現
処理文1 # ブロック開始
処理文2 # ブロック終了
別のインデントを持った文が出てきた時点で、ブロックは終わります。
ヘッダ行: # スペース2つでインデントを表現
処理文1 # ブロック開始
処理文2 # ブロック終了
処理文3 # 複合文の処理から外れる
複合文の中に複合文を入れることもあります。
内側の複合文に含まれるブロックは、内側の複合文のヘッダに対してインデントします。
ヘッダ行1: # スペース2つでインデントを表現
処理文1 # ブロック1開始
処理文2
ヘッダ行2: # 複合文の中にいれる複合文
処理文3 # ブロック2開始
処理文4 # ブロック2終了
処理文5 # ブロック1終了
処理文6 # 複合文の処理から外れる
Python では、プログラムの構造が見た目でわかりやすいですし、構文がよりシンプルに書くことが出来ます。
この複合文のルールを使って、次回より制御フロー文を見ていきましょう。
参考

Python まとめページ

前回へ戻る

次回へ進む

[q3-adsense01]
コメント
[…] 【Python】複合文とブロックについて […]
[…] 【Python入門】複合文とブロックについて […]