youtube始めました

python~and or notの使い方~【pythonマスターへの道#007】

_
python~andornot~Python
この記事は約5分で読めます。

今回は、前回学んだbool(論理型)を使った

and or notの使い方を学んできましょう。

このand or notはif文を使うときの「複雑な分岐」のときに活躍します。

単純な分岐であれば、式を一つ書いて終わりですが、

例えば、「Aが真だが、Bが偽である」この場合に判定をTrueとしたい場合、

orを使わないと実現できません。

そんな複雑な分岐に使えるand or not を学んでいきます。

自己紹介

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

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

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

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

and or notをpythonで使うシチュエーション

冒頭でも例を出しましたが、

使用するシチュエーションは、複雑な分岐を行うときです。

簡単な判定、例えば、1が3より小さいか。

の判定は、

print(1<3)

こんな感じです。

結果としては、Trueが返ってきます。

それでは変数を使用して少々複雑にしてみましょう。

判定する内容としては、

xが3より大きいかつ、yが2で割り切れる場合はTrueとしてみます。

x=10
y=8
print(x>3 and y%2==0)

これで判定できます。

Point

2つの条件のどちらも満たしたときにTrueを返すandを使用しています。

y%2==0ですが、

=を2つ入れている理由は、pythonの場合、

左辺と右辺が等しいかの判定は==を使用するためです。

変数の記事でも説明しましたが、

「=」は、左辺に右辺を代入。という意味なので、

判定の時は必ず==を入れないとエラーになります。

慣れの問題なのですが、大事なところなので注意しましょう。

このように複数の判定に使用します。

それではand or notの詳しい使い方を一緒に学んでいきましょう。

pythonでand or not を使う方法

pythonでandを使う方法

まず初めにandの使い方です。

andは、先ほど例で挙げたように

andでつなげた条件すべてが真(True)であった場合にTrueが出力されます。

逆に、andでつなげた条件の中で、1つでも偽(False)が入っているとFalseが出力されます。

先ほどの例に1つ条件を足してみましょう。

x=10
y=8
z=2
print(x>3 and y%2==0 and z>100)

この場合、zは100より当然小さいので、

最後のzの判定のみFalseになります。

andですべて繋いでいますので、この例では最終的にFalseが出力されます。

全てTrueでないと次の動作に移ってほしくない場合に、

この分岐で弾いたりします。

pythonでorを使う方法

次にorの使い方です。

orは、条件の中でどれか1つでも真(True)がいれば、Trueを出力されます。

条件の中に1つも真(True)がいない場合はFalseを出力します。

先ほどの例をorに書き換えてみましょう。

x=10
y=8
z=2
print(x>3 or y%2==0 or z>100)

判定の左と真ん中はTrueなので、結果はTrueが出力されます。

逆に、すべてFalseになる条件にしてみるとこんな感じです。

x=10
y=8
z=2
print(x<3 or y%2==1 or z>100)

真(True)となる条件が1つもないので出力結果はFalseです。

全ての条件がFalseなのは困るけど、どれか1つでもTrueになれば、

次の処理に進んでほしいときに使用したりします。

python でnotを使う方法

最後にnotの使い方です。

notというだけあって、条件の否定に使います。

具体的には、Trueである条件をFalseに

Falseである条件をTrueに変更します。

簡単な例を1つ挙げるとこんな感じです。

print(not 1<3)

3は1より大きいですが、この場合ではFalseが出力されます。

notによってTrue⇒Falseに変更されています。

複雑な処理でも使用することができます。

orで使用した最後の例を、notを使ってTrueにしてみましょう。

x=10
y=8
z=2
print(not x<3 or not y%2==1 or not z>100)

これでTrueが出力されます。

もちろん、最終的な判定のみをnotで反転させることも可能なので、

このようにしてもTrueを出力させられます。

x=10
y=8
z=2
print(not(x<3 or y%2==1 or z>100))

Point

条件をまとめてnotで反転させたい場合は、

not( )としてかっこの中に条件をすべて入れましょう。

notは、ある条件以外の時は処理を続行させたいときなどに使用されます。

ただ、notが増えてくると見栄えが悪くなってきます。

orの例の条件のすべてにnotを付けた例のように、

notだらけになって見づらいのがその例です。

使いすぎに注意しましょう。

まとめ

今回は、前回までに学んだ論理型(bool)の複雑な処理に使える

and or notについて学びました。

if文を使用する際、複雑になってくればなるほど

必須となる知識です。

今のうちからマスターしておきましょう。


独学の限界を感じているあなた。

昨今のトレンドに乗り遅れていませんか?

「苦労して少ない情報をネット検索するのはもうやめましょう。」

プログラミング習得のテッパンはずばりスクールです。

「最前線でしか手に入らない知識」を習得しませんか?

未経験からエンジニアに【CCNAコース】

まずは気軽にWEBの無料説明会からどうぞ。


コメント

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