Python 四則計算の入門 計算の優先度

スポンサーリンク

Pythonの四則計算 入門編として四則計算の基本である計算の優先度や注意点を解説します。

Pythonの四則計算は他のプログラミング言語と同じように使えます。

四則計算の計算式に関してはこちらを参照してください。

参考ページPython 四則計算の書き方(四則計算、剰余、べき乗)

Pythonの四則計算 入門編

掛け算・割り算が足し算・引き算より優先される

num = 2 + 5 * 10
print(num)
#[結果] 52

足し算「+」と掛け算「*」が混在した計算をしました。Pythonでは足し算より掛け算が優先されます。

「2 + 5 * 10」は「5 * 10」を処理したあとに「2 + 」されます。わかりやすく書くと「2 + (5 * 10)」となります。

「2 + 5」が先に処理されるわけではないので注意してください。

num = 2 - 10 / 5
print(num)
#[結果] 0.0

引き算「-」と割り算「/」が混在した計算をしました。Pythonでは引き算より割り算が優先されます。

「2 – 10 / 5」は「10 / 5」を処理したあとに「2 – 」が処理されます。わかりやすく書くと「2 – (10 / 5)」となります。

「2 – 10」が先に処理されるわけではないので注意してください。

カッコをつけて計算の優先度を変える

num = (2 + 5) * 10
print(num)
#[結果] 70

Pythonでは通常は足し算より掛け算が優先されるますが、カッコをつけることで計算の優先度をかえることができます。

例えば、先ほどの例で足し算を優先したい場合は、「(2 + 5) * 10」とします。

「(2 + 5) * 10」は「2 + 5」を処理したあとに「* 10」されます。

そのままでは小数桁の計算は正しくできない

num = 0.1 + 0.1 + 0.1
print(num)
#[結果] 0.30000000000000004

Pythonでは小数はfloat型となります。しかしfloat型は浮動小数点数であるため、10進数のように正確に小数を扱うことができません。

ここでは0.1を3回足しましたが、結果は「0.3」とはなりませんでした。

Pythonで小数を正しく扱うためには「Decimal」を使います。

from decimal import Decimal

num = Decimal('0.1') + Decimal('0.1') + Decimal('0.1')
print(num)
#[結果] 0.3

参考ページPythonで文字列を数値型(int・float・decimal)に型変換する

 

Pythonの四則計算の基本をいくつか取りあげてみました。

以上、Pythonの四則計算 入門編の解説でした。

コメント