Pythonの整数と浮動小数点の算術規則は、数学の4つの算術規則と同じです。
基本的な計算:
5 + 6 + 7 # ==> 18
4 * 4 - 6 # ==> 10
7.5 / 8 + 2.1 # ==> 3.0375
算術演算と同様に、括弧は優先度を上げることができます。括弧のみを使用できますが、多くのレイヤーにネストできます:
(2 + 2) * 3 # ==> 12
(2.2 + 5.3) / (1.5 * (9 - 4)) # ==> 1.0
違いは、Pythonの整数演算結果は整数であり、浮動小数点演算結果は浮動小数点数であることです。
1 + 2 # ==> 整数 3
1.0 + 1.0 # ==> 浮点数 2.0
整数と浮動小数点数の混合演算の結果は、浮動小数点数になります。
5 + 2.0 # ==> 浮点数 7.0
整数演算と浮動小数点演算を区別する必要があるのはなぜですか?これは、整数演算の結果は常に正確であり、浮動小数点演算の結果は必ずしも正確であるとは限らないためです。コンピュータのメモリがどれほど大きくても、無限ループの10進数を正確に表すことはできないためです。たとえば、0.1は無限ループの10進数のバイナリ表現に置き換えられます。
整数除算演算で無限除算が発生した場合、結果は浮動小数点数ではありませんか?やってみましょう:
11 / 4 # ==> 2
Pythonの整数除算は、除算が無限ではない場合でも、結果は整数であり、残りは直接破棄されます。ただし、Pythonは剰余を計算するために剰余演算%を提供します。
11 % 4 # ==> 3
「整数と浮動小数点の混合演算の結果は浮動小数点である」という規則に従って11/4の正確な結果を計算する場合、2つの数値のいずれかを浮動小数点に変更してから計算しても問題ありません。
11.0 / 4 # ==> 2.75