for文〜TweetPocketはじめにこれまでPythonのデータ構造について説明してきました。今回からは他のプログラミング言語でお馴染みのif文・while文・for文の説明をしたいと思います。これらの制御フローツールを使えるようになれば、データ処理するためのプログラムが記載できるようになります。説明していきたいと思います。if文プログラムを書いてみるまずはif文からはじめます。ここからは対話型インタープリタではなく、Pythonファイルを作成して実行していきたいと思います。例として「kadai5_1.py」というファイルを作成します。kadai5_1.pykadai5_1.pyに下記のプログラムを記載し、保存します。※なお、viエディタでプログラムを記載する方法ですが、まずキーボードで「i」を押下し、「編集モード」にします。すると文字を入力できるようになるので、下記のプログラムを記載してきます。記載し終わったら保存するのですが、保存する方法は、Escキーで「コマンドモード」に戻り「:wq」と入力し、Enterを押下します。print('hello')kadai5_1.pyを実行します。kadai5_1.py=>整数を入力してください整数を入力してくださいと表示されるので、適当な整数を入力してみましょう。下記のような結果になるはずです。hey#3の場合helloプログラムの解説プログラムについて簡単に解説します。変数xにキーボードから入力された数字が代入されます。次にif文でx==1がTrueであるかチェックしています。x==1がTrueである、すなわち変数xに代入されている値が1であるなら、if文の下のインデントされた部分のプログラムが実行されます。print(‘hey’)が実行されます。最初のif文でfalseになった場合は、次にelif文の条件がTrueであるかチェックされます。hey’)が実行されます。if文のいずれもfalseである場合にelse文の下のインデントされた部分のプログラムが実行されます。Pythonプログラムの特徴ここで、Pythonでのプログラミングについての最大の特徴について説明します。他のプログラミング言語を使用されていた方にとっては奇妙に見えるかもしれませんが、Pythonではコード構造はすべてインデントで表現されます。「kadai5_1.py」にはif文とelif文とelse文の3つのブロックが存在しますが、それらのブロックはすべてインデントで定義されています。他のプログラム言語、たとえば、C言語やJavaでは、プログラムのブロックを区切るために波括弧が使用されますし、RubyやVBでは、ブロックの終端を示す「end」の記述されます。具体例としてJavaのプログラムを見てみましょう。Javaでは、if文の後には波括弧が必要です。試しに「kadai5_1.py」をjavaで書いてみると下記のような感じになります。}}Javaで書き直してみると、プログラムが長く感じてしまいますね。ここで注意点として、Pythonではインデントのサイズによってプログラムのブロックを識別しているので、インデントのサイズは同一ブロックでは同じサイズにしておく必要があります。慣例としてインデントには4個のスペースを使うようになっています。詳しくはPEP8というコーディング規約(日本語訳)をご覧ください。While文プログラムを書いてみる他のプログラミング言語でもおなじみのwhile文について説明します。kadai5_2.pykadai5_2.pyに下記のプログラムを記載し、保存する。kadai5_2.py12345ここでもwhile文のブロックはインデントで表現されています。簡単にプログラムを説明すると変数cntが5以下なら処理を繰り返すという内容になっている。cntには1が代入されており、cntは5以下であるからwhile文のブロックが実行され、print()で1が印字される。print()を実行後、cntを1加算して、cntを2にする。while文の先頭に戻り、cntは5以下であるので、再びwhile文のブロックが実行される。上記の流れをcntが5から6に加算されるまで繰り返すという流れになる。最後にfor文について解説します。Pythonのfor文は、他のプログラミング言語、たとえば、C言語やJavaでのfor文とは少し異なります。Pythonのfor文は、イテラブルオブジェクト、つまり、文字列、リスト、タプル、辞書などイテレーターに対応するオブジェクトに対して実行すると、イテラブルオブジェクトの要素を一つずつ取り出し処理を実行できます。言葉では理解しにくいと思いますので、実際にプログラムを記述して、動作を確認してみましょう。kadai5_3.pykadai5_3.pyに下記のプログラムを記載し、保存する。kadai5_3.pyMondayTuesdayWednesdayThursdayFridaySaturdaySundayイテラブルオブジェクトであるリストから一つずつ要素を取り出し、print()を実行し、一つずつ要素を出力させています。上記の例ではリストについてfor文を実行してみたので、今度は文字列で実行してみましょう。※以下からはPythonファイルを作成する過程は省略させていただきます。print(letter)出力結果hello今度は辞書の場合を見てみましょう。print(value)実行結果misakitakuyakentaキーと値を両方処理する場合は下記のようにします。takuya今回は以上です。プログラミングSNSでもご購読できます。TwitterでフォローするFeedlyでフォローするSTM当ブログの管理人STMです。プログラミング関係の記事を中心に、趣味のカメラやファッションの話など掲載しています。読者の皆様のお役に立てる情報配信を心がけています。*メールアドレス(公開はされません。*上に表示された文字を入力してください。