【 この記事の対象者 】
- Pythonを学習中で、if文が理解できない
- if文の基礎が知りたい
- if文の使い方を知りたい
【 この記事を読んでわかること 】
- if文の基礎がわかる
- if文の基本的な使い方がわかる
- if文の実践例がわかる
if文の基礎や基本的な使い方を、
Python歴3年の私ができるだけわかりやすく解説し、解決に導きます。
if文とは
※わかりやすさを重視しております。厳密には解釈が異なる場合がありますことをご了承ください。
まず、「if文」とは何なのでしょうか。
「if」を直訳すると、「もし・・・」や「もしも・・・」となります。
「もしも・・・」に続く言葉として、
- もしも、願いが叶うなら
- もしも、ピアノが弾けたなら
- もしも、居酒屋店主がプロレスラーだったら
などを思い浮かべた方が多いのではないでしょうか。
もしも「●●」が「■■」なら・・・
この「・・・」の後も埋めるとすれば、
【もしも、「●●」が「■■」なら「▲▲」する】
となります。
これが「if文」です。
もう少しわかりやすくするために、具体例を挙げてみましょう。
- もしも明日が休日なら、遊園地に行く
- もしも雨が降っていたら、傘が必要
- もしも卵が少ないなら、スーパーへ買いに行く
基本的には【もしも「●●」が「■■」なら「▲▲」する】となっていますよね。
言い換えると、特定の条件(明日が休日)に当てはまった場合のみ分岐する(遊園地に行く)
ということです。
プログラミングではこれを「条件分岐」といいます。
「条件分岐」は、
プログラミングの三大要素である「順次進行」「条件分岐」「繰り返し」の中の一つであり、
プログラミングを行う上では重要な部分であると言えます。
そして、この「条件分岐」をさせたい時に使うのが「if文」なのです。
「条件分岐」という言葉を使いましたが、
現段階では「if文」=【もしも、「●●」が「■■」なら「▲▲」する】
という理解で大丈夫です。
では、もう少しPythonに近い例を挙げてみましょう。
- もしも「i」が「0」なら「無くなりました」と表示する
- もしも「money」が「1000」以下なら「チャージしてください」と表示する
- もしも「name」が「utatane」以外なら「ログインできません」と表示する
それっぽい例が出てきましたね。
では、if文はどのように使ったらいいのでしょうか?
次項で使い方や書き方を解説いたします。
Pythonでのif文の使い方
解説するのは、下記の3つです。
- if文の基本の型
- 簡単なif文の例
- if文の実践例
1つ1つ解説いたします。
if文の基本の型
まずは「基本の型」を見ていきましょう。
if(もしも) ●●が■■なら:
▲▲する
これだけ!これだけです。
※1行目の文末に「:(コロン)」を付け忘れないように注意しましょう
もう少しわかりやすくするために、簡単なif文の例を見ていきましょう。
簡単なif文の例
簡単な例を2つ紹介いたします。
その1
前項で例に挙げた
【もしも「i」が「0」なら「無くなりました」と表示する】
を作ってみましょう。
ひとまず基本の型のおさらいです。
if(もしも) ●●が■■なら:
▲▲する
型に条件をあてはめてみます。
if i が 0 なら:
無くなりましたと表示する
【「i」が「0」なら】というのは、【 i == 0 】と置き換えることができます。
(【 i = 0 】ではありません。イコールがふたつ必要なのでご注意ください)
【「無くなりました」と表示 】は【 print(‘無くなりました’) 】と置き換えできます。
それぞれ置き換えてみましょう。
if i == 0 :
print('無くなりました')
できました。これで完成です。
では、iに0を入れるコードを追加してから実行してみましょう。
i = 0
if i == 0 :
print('無くなりました')
▼実行結果
「無くなりました」と表示されました。
条件に当てはまらない状況を作るために、
1行目の「 i = 0 」を「 i = 1 」に変えてみましょう。どうなるでしょうか。
▼実行結果
i が 0ではないため、「無くなりました」が表示されません。
このように特定の条件以外では、「▲▲する」が実行されませんので、ご注意ください。
特定の条件以外で他の処理をさせたい場合は「else」を使う必要があります。
「if~else」の使い方は、下記記事をご参考ください。
その2
次に、
【 もしも「money」が「1000」以下なら「チャージしてください」と表示する 】
を作ってみましょう。
早速ですが、型にあてはめてみます。
if money が 1000 以下なら:
チャージしてくださいと表示する
【「money」が「1000」以下なら】というのは【 money <= 1000 】と置き換えることができます。
したがって、最終的なコードは下記のようになります。
if money <= 1000 :
print('チャージしてください')
前項のように、if文の前に「money = 1000」を追記して実行した場合、
「チャージしてください」と表示されます。
「money = 5000」なら「チャージしてください」は表示されません。
さきほどの「i == 0」や今回の「money <= 1000」のように、
「==」や「<=」を「比較演算子」といいます。
左辺(money)と右辺(1000)を比較する演算子(<=)ですね。
では、他にどんな比較演算子があるのか見ていきましょう。
いろいろな比較演算子
よく使う代表的な比較演算子を紹介いたします。
- i == 0【「i」が「0」と等しいなら】
- i <= 0【「i」が「0」以下なら】
- i >= 0【「i」が「0」以上なら】
- i < 0【「i」が「0」より小さいなら】
- i > 0【「i」が「0」より大きいなら】
- i != 0【「i」が「0」以外なら】
※「<=」や「!=」など、演算子を2つ使うものについては、イコールが右側に来ます。
私もよく「どっちだっけ?」と忘れるのですが、イコールが右側と覚えてください。
if文の実践例
では次に、実践向きの例を見ていきましょう。
【 もしも「name」が「utatane」以外なら「ログインできません」と表示する 】
を作っていきます。
少し難しくなりますが、キーボード入力した値を受け取って識別する構文を作ってみましょう。
「●●以外なら」というのは前項で紹介いたしました。
「キーボード入力した値を受け取る」という方法の詳細は下記記事をご参考ください。
コードは下記のようになります。
name = input('名前を入力してください')
if name != 'utatane':
print('ログインできません')
▼実行結果
実際は、「ログインできません」の表示とともに、再度入力を促す処理が必要だったり、
ログインできた場合のその後の処理などが必要だったりしますが、今回は割愛します。
また、これ以上難しくすると、配列やfor文が絡むため、ここまでとさせていただきます。
最後に
Pythonで使うif文の基礎を解説いたしました。
少しでも理解を深めていただけたなら幸いです。
for文と並んで使用頻度は高いと思いますので、メモ帳にコピペしておいてください。
当ブログでは、Pythonに関する情報を配信しております。
この記事がわかりやすいと感じた方は、他の記事も読んでいってください。
最後までお読みいただき、ありがとうございました。がんばってください!