【Python 入門】if文① if文の基本的な使い方

今まではデータの基本的な扱い方について確認してきましたが今回は変数の中身によって処理を変える条件分岐「if文」について確認していきます。

if文とは

if文(条件分岐)とは、「もし○○○ならば、×××する」という関係が成り立つ処理を、プログラムで表現すること処理の事です。仮定提示し、仮定に合致するかそうでないかを判断します。

いくつか文章で例を挙げてみましょう。

  • もし、PS5の抽選に当たったらPS5を買う
  • もし、髭男のチケットが当たったら7月はライブを見に行く
  • もし、早く帰れたらゲームで遊ぶ

私の欲望があふれ出てしまっていますね。。。

それはそれとしてわかりやすいように色付けしましたが、要は赤が実現したら青を実行するという形です。

プログラム的な考え方でもう一通り文章を見てみましょう。

  • もし、変数の値が 3 だったら“奇数” と出力する
  • もし、リストの中身が存在したらリストに値を代入する
  • もし、文字列の値が”Morning”だったら”GoodMorning”と出力する

イメージがつきましたでしょうか。これが条件分岐です。

if文の書き方

次に、if文の書き方について確認していきます。

if文ではインデントを使用してブロックであることを示す必要があります。

最初に「if」と記載し、その後ろに判定させたい条件式を記載します。上記の例文でいう赤字の部分ですね。そして条件式終わりに “:”を付けます。これは後の処理がブロックになることを示すためです。

条件式の下には条件式に合致した場合の処理を記載し、記載するコードは必ずインデントで後ろに下げる必要があります。if文ブロックを抜けたい場合はインデントを外すことでブロックから抜けたことを示します。

if文ブロックの実行条件

if文ブロック内に記載した処理はif文に定義した条件式が真、つまり「True」であれば処理を実行します。条件式が偽、つまり「False」であれば処理はブロックごとスキップされます。

True」と「False」はboolean型と呼ばれる変数で、boolean型変数はその2つで構成されるものになります。真偽を判定するための変数なのでこのように基本的にif文で用いられます。

if文で使用する比較演算子

さて、実際の使い方を確認する前にif文の条件式で使用される比較演算子を一覧で確認しておきます。

演算子 内容
< a < b a が b より小さければTrue
<= a <= b a が b 以下であればTrue
> a > b a が b より大きければTrue
>= a >= b a が b 以上であればTrue
== a == b a と b が同等の値であればTrue
!= a != b  a と b が同等の値でなければTrue
is a is b a と b が同じオブジェクトであればTrue
is not a is not b a と b が同じオブジェクトでなければTrue
in a in b a が bに含まれる値であればTrue
not in a not in b a が bに含まれる値でなければTrue

ここで注意しておきたいのが 「==」と「is」の違いです。オブジェクトという言葉は現段階ではまだ使いたくなかったのですがそれ以外に形容しがたかったのでこのように書いております。それでも今は、オブジェクトとは何ぞやとは考えずに単純に言葉通り物体ととらえてください。

要は「==」は値を見比べるのに対して、「is」は物体の性質が一緒かどうかを見ます。

例えばですが、同じ重さのリンゴとみかんがあったとして、これらは重さの値で見れば”=”で結ぶことができますが、リンゴとみかんは同じ果物ではないので”is”で関連づけることはできません。

このような違いがあるということを頭の片隅でよいので入れておいてください。

if分の使用例

それでは最後に実際にプログラムに起こしてみます。

上半分では文字列リテラルを比較して同値であれば文章を出力する、下半分では数値を比較して大きければ文章を出力する内容になっております。実行すると分ると思いますが、文字列では1個目の文章が、数値では2個目の文章が出力されます。Colabで上記を試してみていろんな条件式を作ってみてください。

以上でif文については完了です。

条件分岐はプログラミングにおいて非常に重要な要素になりますので、しっかりと押さえておきましょう。

今回はここまでです。お疲れ様でした。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

本業ではPHPを使ったWEBアプリやJavaを使用した基幹アプリを作成しております。Pythonは個人的に勉強しており、E資格を取ったりしたおかげで、業務でAIの研究とかも任されるようになりました。学習のアウトプットのために本サイトを運営しておりますが、これからPythonを学ぶという人のお役に立てればいいなと思います。わからないことや調査して記事にしてほしいことがございましたらご連絡いただけると幸いです。

コメント

コメントする

目次
閉じる