Python Technology

スマホでPythonコードを学ぼう!⑥条件分岐

⑥条件分岐

Pythonではブール型変数を使って「条件」を評価します。

ブール値とは:

True(正しい)

False(正しくない)

の2つがあります。2つの式を比較したときは、TrueかFalseで評価します。

例えば、

x = 1

と指定します。

式:x == 1は正しくないですよね。なのでFalseとなります。

式:x < 5は正しいですよね。なのでTrueとなります。

比較方法

「変数の割り当て」を行うときは、イコールサイン「=」を使いましたよね。

ここで注意したいのは、if文などを使い2つの式を比較したときは「==」を使うということです。

例えば、

name = "Hiroshi"

と指定します。これは変数の指定です。

if文を用いてname と"Hiroshi"を比較するときは、

if name == "Hiroshi"

と、「==」を使います。これは正しいので、Trueとなります。

「is」演算子との違いにも注意しておきましょう。「==」とは異なり、「is」演算子は変数の値ではなく、「インスタンス」自体と一致するときのみ「True」となります。

また、ノットイコール「≠」を用いて式を比較したいときは、「≠」の代わりに「!=」を使います。

例えば、 

name = "Hiroshi" と指定します。

if文を用いてname と"Hiroshi"を「≠」で比較するときは、

if name != "Hiroshi"

と、「!=」を使います。この場合、nameが "Hiroshi"でなければTrueとなります。

nameは "Hiroshi"なので、Falseとなります。

ブール演算子

ブール演算子の「and」と「or」を使うと、より複雑な「ブール式」を作ることができます。要するに、比較する式を様々な形で組み合わせることができるということです。

例えば、

name = "Hiroshi"

age = 27

と指定します。

if name == "Hiroshi" and age == 27:

    print("Hiroshiは27です。")

ここで、name == "Hiroshi"とage == 27という比較式をブール演算子「and」で結んでいます。これは、数学で言う「かつ」「または」の「かつ」の方です。つまり、name == "Hiroshi"が「True」、そしてage == 27も「True」の場合のみ全体として「True」となり、それ以外は「False」ということです。

「in」演算子

in」演算子を使うと、指定した「オブジェクト」がリストなどの反復可能な「オブジェクトコンテナ」内にあるかどうかを確認することができます。

例えば、

name = "Hiroshi"

と指定します。

if name in ["Hiroshi", "Keisuke"]:
    print("あなたの名前はHiroshiかKeisukeです。")

ここで「in」演算子を用いることで、nameの値(すなわち、"Hiroshi")がリスト["Hiroshi", "Keisuke"]に存在するか確かめます。

*この例えではリストが短いのでコードで確かめる必要性は感じませんが、リストの中身が何千個や何万個にもなる場合に役立ちます。

* Pythonでは、コードブロックの定義がインデントのみで行われます。タブキー「1回」もしくはスペースキー「4回」がPythonでの標準的なインデントです。コードブロックは他の言語と違い終了する必要がないので、注意してください。

Pythonでの「if」文の使い方

if」文はほとんどすべてのプログラミング言語で共通しています。日本語だと「if」は、「もし」です。コード内で使う場合も同じ意味で、「もし〜だったら〜してね」のような形で使います。「if」の条件がが当てはまらなかった場合、「elif」、「else」へと進んでいきます。

「if」文が条件をTrueと評価するのは、次のいずれかが正しい場合です。

1.ブール変数「True」が指定されている場合、または算術比較など「式」を使用した上で「True」とされている場合。

2.「空」と見なされないオブジェクトが条件として渡された場合

空と見なされるオブジェクトの例:

1.空の文字列「""」

2.空のリスト「[]」

3.数値ゼロ「0」

4.ブール変数Fasle「False」

*例で用いる「#」はPythonでのコメントです。
例えば、

statement_false = False

statement_true = True

と指定します。TrueとFalseは「ブール変数」であることを忘れないでください。

if statement_false is True:

    #ここで何かを実行する

elif statement_true is True:

    #elifはelse ifの略で、「if」が当てはまらなかった場合の次の「if」として使います。

    #ここで何かを実行する

else:

    #elseは「それ以外のすべての場合」という意味で、条件は必要ありません。
    #ここで何かを実行する
ここで、実際のPythonコードで練習してみましょう。

「not」演算子

ブール式の前に「not」と記述すると、ブール変数が反転されます。

つまり、「not False」は「True」となり、「not True」は「False」になるということです。

例えば、


print((not False) == (False))

「not False」は「True」となるため、

print((True) == (False))と置き換えることができます。

「True」は「False」ではないです。すなわち、「False」と出力されます。

-Python, Technology
-, ,

© 2020 Buzzdoo