期間が開いてしまいましたが、下記の前回記事の続きです。
プログラムを勉強する時の基礎中の基礎である「if文」について紹介していきます。
プログラムの勉強を始めたてで「if文」て何?という人や、久しぶりに復帰して忘れた人向けの記事となっています。
また、インデントについても紹介していますので、是非ご覧になっていってください。
「if文」の説明などで、表現やニュアンスが少々違うところがあると思いますが、初心者の方の理解のしやすさを優先していますので、予めご了承ください。
if文とは?

ここでは、if文について紹介していきます。
条件で割り振りをしている
if文とは、此方が指定した条件に対して、成立するかどうかを割り振るものです。
基本的にif文直下に書かれている処理は、条件に対して正と判断された際に実行される処理です。
また、if文はプログラミングしていくうえで必須とも言える処理であり、応用の利きやすい処理となっています。
今回は紹介しませんが、while文やfor文、関数作成の時に、良く使用されるものです。
また、場合によっては、if文の中にif文が入り込んでいるものもあります。
ここまで読んでいると、難しそうと思うかもしれませんが、if文自体の処理自体は難しいものではありません。
条件の書き方さえ覚えられれば、比較的簡単に使用できる分ですので、一緒に見ていきましょう!
下記がif文になります。
※エディタに入力した時に、エラーが出ていると思いますが正しいですので、安心してください。
次項の為に完成させていません。(筆者都合で申し訳ありません(笑)。)
if number == 0:
# numberが0であった場合に実行される処理部分
print("Hello World")
1行目がif文の条件指定部分になります。
3行目が実際にnumberが0であった場合に、実行される処理です。
このように、if文そのものは非常にシンプルなものになっています。
では、0でなかった場合はどのような処理が行われるかと言いますと、上記のような記述の場合は、if文内部の処理は実行されません。
if文の下に他の処理が記述されている場合は、その処理が実行されます。
つまり、上記の状態ではnumberが0であった場合、つまり条件が正であった時のみ実行されるものになっています。
実際にif文を書いてみよう!
では、ここからは実際にif文を書いていってみましょう!
①「VS Code」を起動し、新規作成でファイルを作成します。
②下記のコードを入力します。
number = 0
if number == 0:
# numberが0であった場合に実行される処理部分
print("Hello World")
③コマンドプロンプトを起動し、下記のコマンドを入力します。
python ファイル名.py
④下記画像のように表示されていればOKです。

ここまでは、numberが0であった場合の処理を見てきましたが、0でなかった場合の処理も見ていきましょう!
⑤先ほどの記述してもらったコードの1行目を下記の様に変更してみます。
number = 2
⑥しっかりと上書き保存してもらったうえで、コマンドプロンプトで下記コマンドを入力します。
python ファイル名.py
⑦Hello Worldが表示されていなければOKです。
では、ここからは更に踏み込んで、if文以降の処理も追加してみましょう。
⑧下記の様に、一番下の行にコードを追加します。
number = 2
if number == 0:
# numberが0であった場合に実行される処理部分
print("Hello World")
print("処理完了!")
⑨しっかりと上書き保存してもらったうえで、コマンドプロンプトで下記コマンドを入力します。
python ファイル名.py
⑩下記の画像のように表示されていれば、OKです。

上記画像のように「処理完了!」と表示されていない人はいませんか?
表示されていない人は下記画像のような感じになっているはずです。

これはインデントが問題になっています。
Pythonにおけるインデントという存在
if文だけに限らず、Pythonという言語は「インデント」というものの存在で、1つの処理としての塊を認識しています。
先ほどの問題を例に正しいものと誤っているものを見比べてみましょう。
上が正しい画像で、下が誤っている画像です。


分かりましたでしょうか。
正解は、6行目の処理が後ろの方に下がっています。
一般的に、この後ろの方に下げることを「インデント」と呼ばれています。

つまり、Pythonでは「インデント」されている限り、if文であろうが関数であろうが、一つの処理の中にあるものと認識されてしまいます。
ですので、if文などを使用する際は、その後の処理部分が「インデント」されていないか、要注意です。
因みに、インデントは一般的に半角スペース4個分とされています。
ですが、個人でプログラミングをする分にはtabキーを一回押せば、同じ分だけ下げれますので、それでいいと思っています。
学校や会社で指定された場合は、その指示に従っていただけたら良いです。
else とは?
ここからはif文を使用するうえで、一緒に使用することが多いであろうelse部分について紹介していきます。
if文条件から漏れた処理を実行する部分
else自体は、単独で処理を実行できるものではなく、if文で使用されるものです。
具体的に使用方法を説明しますと、if文で指定した条件外の答えを持っている場合に実行してほしい処理を記述する部分になります。
コードにすると下記の様になります。
number = 2
if number == 0:
# numberが0であった場合に実行される処理部分
print("Hello World")
else:
# numberが0以外であった場合に実行される処理部分
print("指定された数値と異なります。")
print("処理完了!")
「else:」以降のインデントされている部分が、else部分の処理です。
ですので、上記のコードでは「numberに2が代入」されており、if文の条件は「numberが0である」ことを求めています。
そのため、else部分の処理が実行され、下記画像のような結果になります。

ちゃんとelse部分の処理が実行されていることが確認できました。
このように、if文は一つの処理の中で複数の選択肢を与えることが出来るようになっています。
実際に部分を書いてみよう!
ここからは、実際にelse部分を使用したコードを書いていきましょう!
どうせなので、input関数も使用してみます。
①「VS Code」を起動し、新規作成でファイルを作成します。
②下記のコードを入力します。
number = int(input("1から9の数値を入力してください。"))
if number == 4:
# numberが4であった場合に実行される処理部分
print("Hello World")
else:
# numberが4以外であった場合に実行される処理部分
print("指定された数値と異なります。")
print("処理完了!")
③コマンドプロンプトを起動し、下記のコマンドを入力します。
python ファイル名.py
④下記画像のように表示されていればOKです。

一応、4を入力した時の動作も確認しておきます。

これで正しく動作していることが確認できました。
「4」を入力した時に、上記の動作をしていない場合はコードに問題がありますので、見直してください。
このように、if文の条件を満たしていない場合の処理も追加することで、少なくとも二択の選択肢を与えることが出来ます。
elif とは?
「elif」とは「else」とは異なる処理をすることが出来ます。
ここでは、その処理の内容について説明していきます。
elseにif文条件を追加するための部分
「elif」とは、本来のif文の条件を満たさないが、一定の条件下で動作してほしい処理がある場合に使用可能です。
そのため、「else」とは違い使用する場合は条件付けが必要となります。
「else」とは違い登場する機会は少ないと思いますが、覚えていて損はない処理です。
number = int(input("1から9の数値を入力してください。"))
if number == 4:
# numberが4であった場合に実行される処理部分
print("Hello World")
elif 0 < number and number < 10 :
# numberが0より大きく10より小さい場合に実行される処理部分
print("1~9の数値が入力されました。")
else:
# numberが4以外であった場合に実行される処理部分
print("範囲外の数値が入力されました。")
print("処理完了!")
実行した結果は下記画像のようになります。

6行目からが「elif」の処理部分で、if文と同様に条件を記述する必要があります。
また、条件に「and」を使用することで「左部分の条件かつ右部分の条件を満たした場合」と言ったように複数の条件を設定することが出来ます。
これは、if文でも同様に使用することが可能です。
条件文に「<」を使用していますが、これは「左部分よりも右部分が大きい」という条件の場合に使用できる比較演算子です。
よく混同している人がいるのですが、「以上」という意味合いではありません。
他人の作成したプログラムを読むときは、処理そのものの意味が変わる可能性がありますので、特に注意が必要です。
また、今回は「and」を使用して複数の条件のようにしましたが、下記の様に記述することもできます。
elif 0 < number < 10 :
筆者自身は、プログラムを教えてもらうときに上記の記述はしない方が良いと言われたので、「&」を使用していますが、職場では上記の方が一般的だったと記憶しています。
ここら辺は、人の好き嫌いの問題ですので、どちらで書いてもらっても構いませんが、予め指定がある場合はそれに従ってください。
実際にelif部分を書いてみよう
ここからは、実際にelifを使用したコードを書いてみましょう。
①「VS Code」を起動し、新規作成でファイルを作成します。
②下記のコードを入力します。
number = int(input("1から9の数値を入力してください。"))
if number == 4 or number == 6:
# numberが4であった場合に実行される処理部分
print("Hello World")
elif 0 < number and number < 10 :
# numberが0より大きく10より小さい場合に実行される処理部分
print("1~9の数値が入力されました。")
else:
# numberが4以外であった場合に実行される処理部分
print("範囲外の数値が入力されました。")
print("処理完了!")
③コマンドプロンプトを起動し、下記のコマンドを入力します。
python ファイル名.py
④下記画像のように表示されていれば、OKです。

また、今回はif文の条件で4か6が入力された場合に正の処理が走るようになっていますので、それらも確認していきます。

最後に、1から9の範囲外の数値を入力した場合の処理を確認してきましょう。

全ての処理が正しく動作していることが確認できました。
まとめ
今回は、if文について紹介してきました。
いかがだったでしょうか、思っていたより簡単だったのではないでしょうか。
処理の仕方自体は分かりやすいのですが、如何せん応用が利きやすい処理でもあります。
そのため、今回紹介しきれなかった使用のされ方もされています。
もしかすると、そのような使用の仕方が多いかもしれません。
今回紹介したのはif文の基礎中の基礎であると考えていただければ良いと思います。