MAGAZINE

キャリテク!マガジン

コラム

Pythonの条件分岐、if文を学んでみる

こんにちは、吉政創成 菱沼です。
今回も「Pythonによるネットワーク自動化の教科書」という書籍を片手に学習していきます。Pythonに興味がある!という超初心者の方、ぜひ一緒に学習していただければ幸いです。

さて、前回は演算子を使った条件分岐(if文、else文、elif文)について学びました。
今回は、繰り返し(ループ)処理について学びます。

■Pythonで繰り返し処理をする方法り返し処理をする方法

設定した条件が満たされるまでその処理を続ける繰り返し処理をすることができます。Pythonではfor文やwhile文を使いますが、まずはそれぞれの特徴について学びます。

➤ for文

引用:1.3.3-1 for
文繰り返す回数が決まっている場合は、for 文を使います。for 文は、イテラブルオブジェクトから順番に要素を取り出しながら、その要素の数だけブロックの処理を実行します。

例えば、「“hello”という文字列の文字を一つずつ取り出しなさい」や「10に到達するまでにある数を取り出しなさい」とか、リストの中に入っている文字や数字を足していきなさいと言ったときにfor文が利用されます。

ちなみに文中にでてくる「イテラブルオブジェクト」とは、文字列やリスト、タプル、辞書などの複数の要素が入っている繰り返し可能なオブジェクトのことだそうです。ここにあるイテレーターというメソッドを使えば取り出すことができるようになるそうです。

for文の書式は以下の通り。

for 変数 in イテラブルオブジェクト:
    実行する処理1
    実行する処理2

使い方はこうなります。

for c in "Hello":
    print(c)

[結果]
H
e
l
l
o

変数 cに入れられた文字列「Hello」の文字を一つずつ順番に取り出し、最後の文字「o」がprintされたら終了です。

range関数

数字の場合は、上記のfor文の書式にrange( )関数を追加します。

range関数の書式は、[range(start, end, step)]で、startとstepは省略できますが、endは必須です。

startは始まりの数字なので、指定しない場合は 0が入ります。stepは増加分を指定します。endは終了の数ですが、そのままの数字が終了ではなく、end-1された数字が入ります。 ちなみにrange関数で小数はそのままでは扱えませんので、リストなどで工夫する必要があります。

ここでサンプルコード。以下の例の場合、終了の値のみ5を指定されていますので、結果は0~4です。

for i in range(5):
    print(i)

[結果]
0
1
2
3
4

次に、startを1、endを10、stepを2にするとこうなります。

for i in range(1, 10, 2):
    print(i)

[結果]
1
3
5
7
9

while文

では次にwhile文です。

引用:1.3.3-3 while 文
while 文は、指定した条件が真(True)の場合には、その後のブロックの処理を繰り返します。

for文は繰り返す回数が決まっているのに対し、while文は指定した条件を満たさなくなったら終了するという違いがあります。

while文の書式は以下です。

while 条件:
    条件が真(True)の時に実行する内容

ここでサンプルコード。こんな感じで使います。

i = 0
while i < 5:
    print(i)
    i += 1

[結果]
0
1
2
3
4

「+=」は複合代入演算子のひとつで、「加算して代入」という意味になります。

なのでこのプログラムは、「変数 i が 5 未満の間、ループするごとに変数 i に 1 を加算し、変数iに代入する」というものになります。( i が 4 なら 4 を印字した後に1を足して、変数 i に 5 を代入する)
参考:【初心者向け】Python 複合代入演算子とは?

while文は終了条件がきちんと書かれていないと、延々とループされてしまうので、終了条件やスキップの条件をきちんと書くように注意する必要があります。

例えばすぐ上のコードの最終行[i += 1]を書かなかった場合、いつまでたっても i が 5 になることがないので、ずーっとループし続けてしまいます。
ループから強制的に抜け出したいという場合には if文と break文や continue文を使えば、次の処理へ移すことができるようになります。書式はこんな感じ。

< break文 >処理を途中で終了させる

while 条件式:
    条件が真(True)の時に実行する内容

    if 条件式:
        break

< continue文 >処理を途中でスキップさせる

while 条件式:
    条件が真(True)の時に実行する内容

    if 条件式:
        continue
    繰り返し処理

テキストではこの辺は書かれていないようなので、詳細を知りたい方は参考サイトをご覧ください。

break文を使った繰り返し処理の強制終了
【初心者向け】Pythonでwhile文を使う方法
【初心者向け】Pythonのcontinue文について解説!break文との違いは

ということで、今回はこちらで終了です。お付き合いいただき、ありがとうございました。

未経験で、インフラエンジニアを目指す方は、AltX社の未経験者向けインフラエンジニア採用情報をご覧ください。
https://www.altx.co.jp/careetec/requirements/

過去の連載記事

  1. Pythonの条件分岐、if文を学んでみる。
  2. Pythonで使える演算子をまとめてみた。(演算子・論理演算子・比較演算子)
  3. Pythonを起動してみよう(Windows/macOS/Linux)
  4. Pythonをインストールしてみよう(Windows/macOS/Linux)
  5. Pythonとリファレンス実装
facebook シェアシェア
LINE シェアシェア