Re:ゼロから始める文系プログラマ

文系プログラマーがブログを書いてみた。

【はじめてのPython】IV ~演算(応用編)~

f:id:ShotaNukumizu_1000:20210405111435p:plain

おはようございます、Shotaです。今日もPythonの基礎を紹介していきます!

 

今日は昨日に引き続き、「演算」の話をしていきます。

 

【目次】

 

 

演算(応用編)

 昨日はPythonを扱う上で重要な「演算」について解説を入れました。今日は、ちょっと難しい「演算」の内容について詳しく触れていこうと思います。

比較演算

Pythonに用意されているのは昨日に紹介した算術演算だけではありません。 比較演算は、2つの値を比較して結果を真偽値で返す式です。

比較演算は、「比較演算子と呼ばれる演算子を使って式を作成していきます。Pythonで使われる比較演算子の表はこの通りです。

f:id:ShotaNukumizu_1000:20210407133548p:plain

この表に書かれてある上2つの四季は、ほぼすべての型の値で使うことができます。比較演算子が正しければ「True」、間違っていれば「False」を返します。

比較演算は制御構文でよく使われています。

代入演算

 四則演算と代入を一つにまとめたものを代入演算と言います。Pythonには、代入演算を行う「代入演算子」が多数用意されています。

Pythonで使う代入演算子は次のとおりです。

f:id:ShotaNukumizu_1000:20210407134607p:plain

 

例えば、「変数xに10を足す」場合を考えてみましょう。みなさんは、このような場合は次のようなコードを思い浮かべることでしょう。

f:id:ShotaNukumizu_1000:20210407134934p:plain

このような処理はプログラミングではよくありますが、慣れていないと「変数の値を、変数自身を使って計算する」というのが奇異に感じるかもしれません。

このような処理を代入演算子で書くと、次のようになります。

f:id:ShotaNukumizu_1000:20210407135127p:plain

代入演算子を使うと、このようにして同じ変数を使う時に同じ文字をコードに書く手間を省くことができるのです。

ブール演算

 「ブール演算」とは、複数の真偽値によって結果を得る演算です。

例えば、「aは3以上」と「aは7より小さい」を組み合わせて「aは3以上で、7未満である」というような演算を行いたい時にブール演算がよく利用されます。

ブール演算には、「and」と「or」と「not」の3つの種類が用意されています。

and

例えば、「a and b」ならば「aとbの両方がTrueならTrue、そうではないならFalse」となります。両方の式が「True」の場合のみTrueを返すのがandです。

or

例えば、「a or b」ならば「aかbかいずれかか(あるいは両方とも)TrueならTrue、両方ともにFalseの場合にのみFalse」となります。

どちらか一方でもTrueならば、結果もTrueになる。これがorの特徴です。

not

notは、用意された真偽値とは反対の値を出力します。「not X」と表記されているとき、Aの値がTrueならばFalseに、FalseならTrueを返します。

評価の順番

 andとorのブール演算では、「評価の順番」について理解しておく必要があります。評価は、式に使われている値の値を実際に演算して調べることです。例えば、このような式があったとしましょう。

 

A and B

 

このとき、AとBはどのような順で評価されるのでしょうか。AとBの値を同時に取得するわけではありません。

このとき、「1つ目の値の評価で、すでに結果が分かってしまった場合」にはどうすればいいのでしょうか?例えば、このようなケースです。

 

・and演算で、1つ目の値が「False」だった場合。2つ目の値がなんであっても、必ず結果はFalseになる。

・or演算で、1つ目の値が「True」だった場合。2つ目の値が何であろうと必ず結果は「True」になる。

 

Pythonでは、1つ目の値がわかった時点で結果を出力してしまいます。Pythonは2つ目の値を評価せずに1つ目の値だけで結果を出力します。2つ目の値は調べません。

まとめ

【本日のまとめ】

  •  Pythonでは比較演算子を使って2つの値を比較する。式が正しければ「True」、間違っていれば「False」を出力
  • 代入演算子を使うことで、同じ変数にまた同じ数値を使って新しい式を書く時に同じ文字を入力する手間を省くことができる
  • 複数の真偽値で結果を出力するブール演算では、「and」と「or」と「not」の三つが使われる。
  • 「and」は両方ともTrueならTrue、「or」はどちらか一方ならTrue、「not」は真偽値とは反対の値を出力する
  • Pythonは1つ目の値がわかった時点で結果を出力してしまう。このとき、Pythonは2つ目の値を調べない。

 

本ブログでは、こんな感じでPythonにまつわる情報や基本的な知識、Pythonの操作方法やニュースをたくさん紹介していきます。毎週日曜日に、普段とは趣向を変えて有名な自己啓発本・ビジネス書を要約・考察するブログを書いていきます。

この記事がいいと思った人はSNSにシェアしてくれると非常に嬉しいです!

今日で演算のお話が終了しましたので、明日は「文の書き方」について詳しく説明していきます。

今日も最後まで読んでくださりありがとうございました!

 

【参考図書】

gihyo.jp