今回からいくつかの制御フローツールを見ていきます。
最初は、if
文です。
if
文は処理を分岐するときに使います。
ある条件の場合のみ処理を実行するときなどに使います。
[q3-adsense01]
基本構文
プログラムは記述した順に上から実行されます。
その中で実行したいもの、実行したくないものを if
文の条件式によって決めることが出来ます。
if 文
if 条件式:
条件式が True の場合実行する処理
条件式の後ろには必ずコロン ( : ) を入れます。
処理はインデント(字下げ)した行がブロックとして処理対象になります。
>>> x = int(input("数字を入力してください: "))
数字を入力してください: 1
>>> if x > 0:
... print('0より大きいです')
...
0より大きいです
>>> if x < 0:
... print('0より小さいです')
...
>>>
条件式が True
であれば、ブロック内の処理を実行します。
上記の例では、x
に 1 を代入しており、0 より大きい場合のみブロック内の処理を実行しています。
条件式が False
の場合は何も実行されません。
if - else 文
if 条件式:
条件式が True の場合実行する処理
else:
条件式が False の場合実行する処理
条件式が False
だった場合には else:
以下のブロックが実行されます。
どちらか片方のブロックが実行されるようになり、両方同時には実行されません。
else
は省略可能です。
>>> x = int(input("数字を入力してください: "))
数字を入力してください: 3
>>> if x > 5:
... print('5より大きいです')
... else:
... print('5以下です')
...
5以下です
>>>
else
文は自分自身では条件式を持ちません。
else
の上の if
が False
になったときだけ else
ブロックを実行します。
if - elif - else 文
if 条件式1:
条件式1が True の場合実行する処理
elif 条件式2:
条件式2が True の場合実行する処理
elif 条件式n:
条件式nが True の場合実行する処理
else:
全ての条件式が False の場合実行する処理
分岐させたい条件が複数ある場合、elif
を使います。
elif
も省略可能です。
>>> x = int(input("数字を入力してください: "))
数字を入力してください: 2
>>> if x == 0:
... print('ゼロですね')
... elif x == 1:
... print('一番目')
... elif x == 2:
... print('二番目')
... elif x >= 3:
... print('たくさん')
... else:
... print('その他')
...
二番目
>>>
条件式などの記述方法は if
と同じです。
コロン ( : ) は忘れないように入れてください。
pass について
Python
はインデントによってブロックを形成するので、ブロックを作るためにはインデントの入った行を作成する必要があります。
コロン ( : ) のすぐ後にブロックが無い場合は構文エラーとなってしまいます。
その場合は、pass
を使うことでこの構文エラーを回避することが出来ます。
if 条件式:
pass
else:
条件式が False の場合実行する処理
上記の例では条件式が真(True)
の場合は何もせずに、偽(False
)の場合のみ実行します。
この例だけでは条件式を変えてしまえばいい話ですが、例えば class
の宣言だけをしたい場合に使ったりもします。
[q3-adsense01]
条件式
if は条件を分岐させるための条件式で、真(True
) であるか、偽(False
) であるかを確認します。
比較演算子
a < b | a は b より小さい |
a <= b | a は b 以下 |
a >b | a は b より大きい |
a >= b | a は b 以上 |
a == b | a は b に等しい |
a != b | a は b に不一致 |
>>> 1 > 2
False
>>> 1 < 2
True
>>>
文字列でも比較することが出来ます。
>>> "py" < "python"
True
>>> "py" < "pi"
False
>>> "P" < "p"
True
>>>
大文字は小文字より小さくなります。
論理演算子
a and b | a かつ b |
a or b | a または b |
not a | a ではない |
and や or で複数の条件式をつなげることができます。
in 演算子
リストや辞書などといったコンテナというものがあります。
そのコンテナの中の要素を使った条件式を作ることが出来ます。
if 要素 in リストなどのコンテナ:
条件式が True の場合実行する処理
>>> num = [1,2,3,4,5]
>>> a = 3
>>> if a in num:
... print("リストには3があります")
...
リストには3があります
>>>
参考

Python まとめページ

前回へ戻る

次回へ進む

[q3-adsense01]
コメント
[…] 【Python】制御フローツール if 文の使い方 […]
[…] 【Python入門】制御フローツール if 文の使い方 […]