【Python入門】制御フローツール if 文の使い方

Python
スポンサーリンク

今回からいくつかの制御フローツールを見ていきます。

最初は、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 の上の ifFalse になったときだけ 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があります
>>> 

参考

4. その他の制御フローツール — Python 3.6.5 ドキュメント

Python まとめページ

独学でPythonを覚えよう
今話題のプログラム言語「Python」を独学で勉強していく内容を、アウトプットします。僕が今回選んだ教材は、python.jp の Pythonチュートリアル です。このチュートリアルに沿って進んでいく予定です。言語は Pyth...

前回へ戻る

【Python入門】複合文とブロックについて
プログラムが複雑になってくると、条件によって動作が変わるように処理させたいことが必ずあります。もちろん Python でもそのような処理を使っていくことになります。代表的な例として、 if 文 while 文...

次回へ進む

【Python入門】制御フローツール while 文の使い方
while 文は繰り返し処理の一つです。if 文と違ってブロック内の処理を何回も実行していきます。

 

[q3-adsense01]

コメント

  1. […] 【Python】制御フローツール if 文の使い方 […]

  2. […] 【Python入門】制御フローツール if 文の使い方 […]