Pythonの演算子

演算の順番 Python入門
演算の順番

Pythonには数値計算ができる演算子がいろいろあります。

今日は、Pythonの演算子について、いろいろと勉強しました。

「あまりを計算するとか、何に使うの?」

と思いますが、そのうち使うようになるんだろう、ということで、とりあえずUdemyの講座カリキュラムどおり勉強していきます。

数値計算

足し算・引き算・掛け算・割り算

単純な足し算や引き算、掛け算、割り算です。

特に気を付けることはないですね。

足し算はこんな感じ↓

足し算

足し算

引き算はこんな感じ↓

引き算

引き算

これくらいは初心者でも楽勝です(笑)

掛け算、割り算もこのとおり。

掛け算割り算

掛け算割り算

この辺は、特にプログラミングじゃなくても、Excelレベルで知ってるような知識ですね。

あとは、
a = 7
b = 3
の場合、

g = a // b
とやったら、整数で割り算の答えを表示してくれるので、
2
となります。

割り算の余りを求める場合は、

h = a % b
で、答えは
1

べき乗の計算もできて、
i = b ** 3
とすると、答えは
27
になります。

余りとかを求めるようになってくると、だんだんプログラミングぽくなってくる気がします。

代入演算子

代入演算子からちょっとプログラミングっぽくなってきた、と感じるのは私だけでしょうか?

「=」 の左側に変数を置いて、「=」の右側に値を置くと、変数に値が代入されるのですが、これがちょっとわかりづらい感じがします。

a = 5
で、
print(a)
だったら、「5」と表示されるだけなので、別に難しくないのですが、更に、足して代入、とか、引いて代入、とかもできます。

 

たとえば、

a = 7; b = 3

とした場合、

a += b
として実行すると、答えが、
10
になります。

他の演算子も同様で、

引いて代入する場合は、
a -= b

かけて代入する場合は、
a *= b

割って代入する場合は、
a /= b

割って代入して整数の解を求める場合は
a //= b (小数点以下は切り捨てられます!)

余りを代入する場合は、
a %= b

べき乗を代入する場合は、
a **= b

と、=と数値演算子を組み合わせて使います。

それぞれ実行すると、こんな感じです↓

代入演算子

代入演算子

感覚的にわかりづらいのが、「割り算した余りを代入」のところ。

上記の例だと、
a = 7;b = 3
a %= b
だと、計算的には、7割る3で、答えが「2とあまり1」、なので、aには「1」が代入される、ということになります。

比較演算子

比較演算子は、値を比較して、その結果が真(True)か偽(False)かを得ることができます。

たとえば、以下の場合、7は3より大きい(7>3)なので、「True」が結果として返ってきます。

a = 7; b = 3
c = a > b

この「True」もしくは「False」で得られた値はブール型(bool型)と呼ばれる変数になります。

比較演算子で比較した結果が、「正しい」か「正しくない」かを、変数として入れられる、ということですね。(ややこしいですが。。。)

比較演算子の結果を入れた変数cを表示すると、「True」の値が返ってきます。

比較演算子

比較演算子

比較演算子にはいろいろな種類があって、以下のような種類の比較演算子があります。

・小さい
a < b

・大きい
a > b

・以下
a <= b

・以上
a >= b

・等しい
a == b

・等しくない
a != b

 

論理演算子

論理演算子は、2つの条件を、なんらかの方法で結合して、TrueかFalseを返してくれる演算子です。

たとえば、以下の場合、「and」で、『a>4と、b>=8の比較演算子を両方満たすかどうか』で判定が行われ、TrueかFalseの値が返ってきます。

a = 5; b = 10
c = a > 4 and b >= 8

aは5なので4より大きい(True)、bは10なので8以上(True)と、両方を満たしている(and)のため、「True」が得られます。

実行してみると、こんな感じ↓

論理演算子

論理演算子

論理演算子には、「and(両方を満たす)」のほか、

「or」→どちらかを満たす

「not」→~ではない

のようなものがあります。

これはExcelの関数でもAnd関数とかOr関数とか出てくるので、プログラミング初心者でもなじみがありますね。

三項演算子

「三項演算子」は初耳だったんですが、一番簡単な形の条件分岐、みたいなものです。

ExcelでIF関数を使っていた方なら楽勝だと思います。

たとえば、下記の例だと、体重(body_weight)が70キロより軽かったら(小さかったら)5キロで済むところ、70キロ以上だったら10キロ走らなければならない、というような条件分岐です。

三項演算子

三項演算子

文字列の演算

Pythonでは、数値だけではなくて、文字列も足したりとかできます。

これも、Excelでの文字列の足し算みたいな形で実現できます。

こんな塩梅ですね↓

文字列演算

文字列演算

 

ちなみに、アスタリスク「*」を使えば、文字列の掛け算(繰り返し)もできます。

ジョジョのスタープラチナのオラオララッシュも、Pythonなら簡単に表示できます(笑)

文字列演算

文字列演算

 

あとは、Excelでもおなじみの、Right関数とか、Left関数のようなこともできます。

下記の例だと、
a[2]で、先頭から0,1,2と数えて2文字目、
a[-2]で、一番後ろから-1,-2と数えて2文字目、
という具合に、文字を取り出すことができます。

マイナスの場合は後ろから1文字目、2文字目、という感じでわかりやすいですが、プラスの場合、戦闘は0文字めとして数えるので、[2]だったら先頭から3文字目、[3]だったら先頭から4文字目のことを指すことになります。

文字列演算

文字列演算

 

演算の優先順位

Pythonでは、いくつかの演算子が入った計算式の場合、
数値計算の演算子、比較演算子、論理演算子、代入演算子
の順に計算されます。

四則計算は小学生の時にやった順番と同じく、掛け算、割り算が優先、その次に足し算、引き算、という順番になります。

たとえば、以下のような形で、足し算と比較演算子が混じっている場合、先に足し算が行われて、その後比較演算子が働き、結果として、cには「True」が代入されます。

演算の順番

演算の順番

 

プログラミングするうえで、演算の優先順位が分かっていないと、変なことになるので、ちゃんと理解しておかないと危ないですね。。。

 

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