Pythonでは、学校で習った算数と良く似た形式で四則演算を行えます。
| 演算 | 式 |
|---|---|
| 足し算 | a + b |
| 引き算 | a - b |
| かけ算 | a * b |
| 割り算 | a / b |
| 余り | a % b |
| べき乗 | a ** b |
かけ算と割り算の記号が ✕ と ÷ ではありませんが、この書き方に慣れてください。
10 * 20
a % b という式は、 a を b で割った余りを求めます。
5 % 3
10 % 2
負の値は、数字の前に -(マイナス)記号を付けて記述します。
-100
次の式は正の 100 と -99 の足し算です。
100 + -99
正しく計算できますが、ちょっと見にくいですね。こういうときは、かっこを付けて
100 + (-99)
と書くようにすると、間違いにくくなります。
a ** b は、 $a^b$ を計算します。
10 ** 3
実数(float型)¶
これまでに出てきた数字は、すべて 1, 2, 3, ... のような整数ばかりでした。
整数ではなく、1.5のような実数を使う時は、普通の数字とおなじように . をつけて記述します。
0.1
Pythonでは、実数は 浮動小数点数(floating point number) という形式で、 float型 と呼ばれます。
小数点以下が 0 でも、. がついていれば整数ではなく float型です。
100.0
整数とfloat型¶
ほとんどの場合、整数の値と整数の値を演算すると、結果は整数になります。
10 + 20
また、float型とfloat型の演算結果はfloat型になります。
1.2 + 1.3
例外として、割り算の結果は、整数同士の割り算でも、float型になります。
3 / 2
3 / 3 のように割り切れる場合でも、答えは整数の 1 ではなく、小数点以下が 0 のfloat型になります。
3 / 3
また、整数とfloat型の値を演算すると、結果はfloat型になります。
10 + 20.0
float型と誤差¶
Pythonのfloat型は、学校で習う「小数」とはちょっと違う性質を持っています。次の計算を実行してみましょう。
0.1 + 0.2
0.1 + 0.2 は 0.3 となるはずですが、結果は 0.30000000000000004 とわずかに違う値になっています。Pythonの計算間違いでしょうか?
実は、float型の小数は 原理的に わずかな誤差が発生するようになっており、これは想定された通りの結果なのです。この誤差はPythonだけではなく、他の多くのプログラミング言語でも発生します。また、プログラミング言語だけではなく、Microsoft Excelなどの表計算アプリケーションなどでも発生しますので、プログラミングをしなくてもこの誤差に悩まされることがあります。
Pythonではこの誤差に対処する方法も用意されていますが、ここでは紹介しません。差し当たって、「小数の計算は誤差が出る」と覚えておきましょう。