こんにちは。arcadia13です。
Pythonちりつも基礎学習シリーズの第3回目。
今回はPythonでの四則演算(+剰余計算)についてまとめます。
また、アンダースコアについて少し触れます。
※2025/12/02修正
- 一部の記述へ打消し線
- 文言追加
結論
- intは整数値、floatは浮動小数点数を扱う
- intどうしの計算結果はint、floatどうしの計算結果はfloat
- intとfloatが混在する場合の計算結果はfloat
- 一つだけfloat、他全てがintの場合であってもfloat
-
除算(/)の結果は常にfloat
- intどうしの除算であっても結果はfloatになる
- アンダースコアに最後の結果が代入される
- 数字をアンダースコアでつなげることができる
主な数値型
- int
- 整数値を扱う
- float
- 浮動小数点数を扱う
実用上、floatは実数と思って使用してもよいが厳密には異なるため注意。
その理由は、floatでは厳密に表現できない実数値があるため(計算機の打ち切り誤差による影響)。
四則演算のポイント
- intどうしの計算結果はint、floatどうしの計算結果はfloat
- intとfloatが混在する場合の計算結果はfloat
- 一つだけfloat、他全てがintの場合であってもfloat
-
除算(/)の結果は常にfloat
- intどうしの除算であっても結果はfloatになる
※剰余計算も同じです。ここで入れるべき内容か迷いましたが入れることにしました。
# 加算
>>> 2 + 2
4
## 2. はfloatの2.0と同じ
>>> 2. + 2
4.0
# 減算
>>> 2 - 2
0
>>> 2. - 2
0.0
# 乗算
>>> 5 * 6
30
# 除算
## 結果は常にfloat
>>> (50 - 5*6) / 4
5.0
## int同士の除算でも常にfloatを返す
>>> 8 / 2
4.0
# 商の計算
## 整数部の取り出し、小数部の切り捨てと表現されるかも
>>> 8 // 5
1
# 剰余(余り)の計算
>>> 8 % 5
3
>>> 8. % 5
3.0
# べき乗
>>> 9 ** 2
81
# べき乗は乗算やマイナスよりも優先度が高い
# この場合「9の2乗」を減算するとみなす
>>> -9 ** 2
-81
アンダースコアに最後の結果が代入される
- Pythonの対話型では、最後の計算結果が変数としてのアンダースコアに保存されている
- スクリプトファイルにて適用されないため注意
- 通常の計算で使用可能
アンダースコアに値を代入するのは、エラーにはならないが行為自体は厳禁とされている
>>> num = 5
>>> num * 5
25
>>> print(_)
25
# 代入可能
# エラーにならない
>>> _ = 5
アンダースコアでつなげる
- 数字をアンダースコアでつなげることができる
- 使用例: 桁数の多い数字をコード上で見やすくできる(かも?)
- 表示するときにアンダースコアは無視される
- 3桁区切りなどで使用すると見やすくなる可能性あり
- ここで使用しているのは変数としてのアンダースコアではないので注意
>>> 3_2_1
321
>>> 1_000
1000
>>> 3.0_1
3.01
>>> 3_0.1
30.1
>>> 3.2_0
3.2
>>> 3_2_0
320
>>> 3_2.0
32.0
まとめ
今回はPythonでの四則演算(+剰余計算)や、アンダースコアについてまとめました。
なお、厳密な10進数計算を行うdecimal.Decimalや、分数のまま計算を行えるfraction.Fractionについてはやや特殊なので割愛しました。今後、機会がまとめたいと思います。
終わりに
Pythonチュートリアルの第1章(だったかな?)では、Pythonの便利の点として「簡単な電卓として使用できる」という記載がありました。確かにPythonの四則演算は覚えるポイントが少ない上にシンプルなので納得です。ただ、Pythonを電卓で使用するような一般人はそういないと思いますがね。エンジニアでも宗教が分かれそう...。