Python 制御フロー文
if文
条件によって実行する処理を分岐させる場合にはif文を使用する。プログラムの処理が条件分岐に到達すると、条件の判定結果が真か偽によって、次に実行される処理が変わる。
まずキーワードのifから:の間の式が評価される。その式の評価結果が真の場合にif文に続くブロックの処理が実行される。ブロックはインデント(字下げ)された文の集まりのことで、Pythonではインデントでブロックの範囲を示す。
より複雑な条件分岐を書きたい場合はelifやelseを使う。if文の式が偽のときにelif文の式が評価される。elif文が複数ある場合は、上にある方から順に評価されていき、最初に真になったelif文のブロックが実行される。elseのブロックはifやelifの条件式がすべて偽の場合に実行される。
while文
反復処理に用いられるwhile文は、条件式が偽になるまでブロックの処理を繰り返す。書式はif文と同様で、条件式の後の:やブロックのインデントが必要である。
for文
リストのように複数の要素を持つオブジェクトに対して、その各要素に処理を行いたい場合にfor文を使う。 for文は指定された一時的な変数に要素を順次代入し、処理のブロックを実行する。
for文ではrangeオブジェクトをよく使う。rangeは整数の等差数列を表し、引数に(start, end, step)を指定する。endだけは必須引数で、指定がなければstartとstepは0と1になる。rangeオブジェクトは必要になったときに整数を生成するので、リストに整数を格納しておくよりもメモリ使用量を抑えることができる。
反復処理で要素のインデックスを使いたい場合がある。enumerate関数を使うと、整数型のインデックスと要素を得ることができる。
ここでリスト内包表記というリストを作成するための記法を紹介する。for文を使って整数の二乗を要素とするリストを作成している。
この記事が気に入ったらサポートをしてみませんか?