PR

python~if文~【pythonマスターへの道#012】

python-if

今回は、pythonの「if文」について一緒に学んでいきましょう。

if文とは、簡単に説明すると分岐するためのツールです。

分岐といわれるとなんとなく難しいイメージかもしれません。

考え方としては、

こういう場合はこうする。

そうでない場合はこうする。

なんて感じ。

いつも決まった計算などする場合をのぞいて、

if文はとても重要なツールです。

それでは早速やってみましょう。

この記事を読むことでわかること

自己紹介

東証一部上場企業でサラリーマンしてます。

主に工場(生産現場)で使用する検査装置のアプリケーション開発してます。

ヒトの作業を自動化して簡略化するアプリケーションを日々開発中。

2022年5月に転職。現役バリバリの技術者です。
現在は超大手企業の新規事業分野で装置の研究・開発をしています。

Youtubeチャンネルにさまざまな動画を上げています

↓↓↓こちらからYoutubeチャンネルにアクセス!! ↓↓↓

今までのPythonに関する記事はこちら

pythonのif文の基本構文

pythonのif文の基本構文は、こんな感じ。

if 条件式:

インデント 条件式がTrueだったら実行されるところ

条件式やインデントについては次のとおりです。

条件式

条件式には、論理演算子やTrue、Falseといった論理型をつかいます。

具体的には、

if True:
if x<3:

のようにして使います。

xは変数です。

Trueになれば実行されるので、上のTrueはつねに実行される。

インデント

インデントとは、目印のようなきまりです。

ここをいい加減にしておくとエラーだらけになってやる気が失せること間違いなし。

コツとしては、:を打ってEnterキーを押した位置から変えないこと。

ちょっと右寄りのところから自動的に始まるはずなので、

そこからBackSpaceするとこんな感じでエラーになります。

IndentationError: expected an indented block

見た目上そんなにかわらないのに…

決まりは決まりなので気をつけましょう。

if文の条件式の作り方

if文の例としては、こんな感じ。

内容としては、inputされた数字が20未満の場合と

20歳以上とで分岐させています。

oldSTR=input('あなたの年齢を数字で打ち込んでください。')
old=int(oldSTR)
if old<20:
    print('あなたは未成年です。')
else:
    print('あなたは成人しています。')

input関数ってなにって方は、こちらの記事にかいています。

打ち込まれた数字はstring型である点も注意。

else:ってなに?という話ですが、

elseは「条件式がTrueにならなかったら実行」されるところです。

つまり、数字を入力されたらどちらかのprintは実行される。

分岐の分岐【elif】

ただ、TrueかFalseに2通りだけではないパターンって必ずあります。

例えば年齢を層別にしてみるとか。

そんなとき、if文だけではたりませんよね。

いわゆる分岐のあとのさらなる分岐です。

年齢を層別にしてみるとしたらこんな感じでしょうか。

oldSTR=input('あなたの生まれた西暦を数字で打ち込んでください。')
old=int(oldSTR)
if old>1995:
    print('あなたはZ世代')
elif old>1980:
    print('あなたはY世代')
elif old>1965:
    print('あなたはX世代')
else:
    print('あなたはX,Y,Z世代ではありません')

if文の上から判定していき、Trueになった時点で実行されます。

elseまで行って実行されるような条件がなかった場合は、

elseのなかが自動的に実行されます。

elifを永遠につなげることも可能ですが、逆に読みづらくなったり、

計算が遅くなってりすることもあるので注意。

条件式につかう演算子

条件式に使われる演算子は、次のようなものがあります。

演算子使用例Trueになる条件Falseになる条件
==a==baとbが同じ値aとbが異なる値
!=a!=baとbが異なる値aとbが同じ値
isa is baとbが同じオブジェクトaとbが異なるオブジェクト
is nota is not baとbが異なるオブジェクトaとbが同じオブジェクト
>a>baのほうがbよりも大きいaのほうがbよりも小さい
<a<baのほうがbよりも小さいaのほうがbよりも大きい
>=a>=baがb以上aがb未満
<=a<=baがb以下aがbより大きい
ina in baがbの要素aがbの要素でない
not ina not in baがbの要素でないaがbの要素
条件式に使う演算子(比較演算子)

どれもよく使いますが、2文字使う場合の演算子(たとえば>=)なんかは、

たまにどっちが=先だっけとなることも…

入れてみてエラーにならないほうが正解なんですけどね!

アプリケーションで大事なフローチャート

何かアプリケーションを作る場合、

必ずフローを考えないといけません。

「こんなときどうするか?」って感じ。

思いつく限り出してみて、”こうしよう”と決まったら

あとはif文を使って分岐していけばいいです。

Excelの図形でフローチャートがありますが、

if文はその中のひし形にあたります。

条件式に当てはまるか当てはまらないかで分岐する。

アプリケーションだけにとどまらず、

フローを考えるときには重要なツールなので、

ぜひif文の考え方をマスターしましょう。

コメント

タイトルとURLをコピーしました