- Pythonの計算方法
- インクリメント・デクリメントのやり方
- 累算代入演算子の使い方
- 演算子の優先順位と優先順位一覧
- 型変換(キャスト)のやり方
この章では、Pythonでの基本的な計算方法について学んでいきます。
インクリメントなどよく分からない単語があると思いますが、1つ1つ覚えていきましょう。
普通の計算方法から効率的な計算方法まで解説していきます。
Pythonの計算方法(足し算・引き算・掛け算・割り算・剰余算)
演算子一覧
| 演算子 | 名前 | 記述例 | 意味 |
| + | 加算演算子 | a + b | aにbを加える |
| – | 減算演算子 | a – b | aからbを引く |
| * | 乗算演算子 | a * b | aにbを掛ける |
| / | 除算演算子 | a / b | aをbで割る |
| % | 剰余演算子 | a % b | aをbで割った余り |
Pythonの計算は上記の演算子を使用して行います。
1つ1つ確認していきましょう。
Pythonの計算方法:足し算
add = 1 + 1
print(f"足し算の結果は{add}です。")出力結果

足し算は以下のように行っています。
add = 1 + 1足し算は日常生活で足し算をする時と同じように、1 + 1で行うことが出来ます。
Pythonの計算方法:引き算
sub = 5 - 2
print(f"引き算の結果は{sub}です。")出力結果

引き算は以下のように行っています。
sub = 5 - 2日常生活で引き算をする時と同じように、5 – 2で行うことが出来ます。
Pythonの計算方法:掛け算
mul = 4 * 4
print(f"掛け算の結果は{mul}です。")出力結果

掛け算は以下のように行っています。
mul = 4 * 4日常生活で掛け算をする時は「4 × 4」としますが、Pythonでは*(アスタリスク)を使います。
Pythonの計算方法:割り算
div = 6 / 2
print(f"割り算の結果は{div}です。")出力結果

割り算は以下のように行っています。
div = 6 / 2日常生活で割り算をする時は「6 ÷ 2」としますが、Pythonでは/(スラッシュ)を使います。
Pythonの計算方法:切り捨て割り算
div = 6 // 2
print(f"割り算の結果は{div}です。")出力結果

割り算は以下のように行っています。
div = 6 // 2Pythonの普通の割り算は/(スラッシュ)を使いましたが、計算結果に小数点が含まれていました。
/(スラッシュ)を2回連続(//)で計算を行うと小数点以下を切り捨てた割り算を行えます。
Pythonの計算方法:剰余算
剰余算とは、割り算の余りを求める計算のことです。
public class App {
public static void main(String[] args) {
int rem;
rem = 8 % 3;
System.out.println("剰余算の結果は" + rem + "です。\n");
}
}出力結果

8を2で割ると3余り2になるため、出力結果は2になります。
剰余算は以下のように行っています。
rem = 8 % 3剰余算には%(パーセント)を使います。
Pythonの変数を使った計算方法
add = 1
add = add + 1
print(f"足し算の結果は{add}です。")出力結果

このように、変数addに1を加算して、addに代入をすることもできます。
Pythonのインクリメントとデクリメントのやり方
先ほどは、add + 1という形で1を足しました。
1だけ足す、1だけ引くという計算は多々行われます。
そのため、簡単に計算ができるように、累算代入演算子である「+=」と「-=」を使います。
1だけ足すことをインクリメント、1だけ引くことをデクリメントと言います。
add = 1
sub = 2
add += 1
sub -= 1
print(f"インクリメントの結果は{add}です。")
print(f"デクリメントの結果は{sub}です。")出力結果

このように簡単に、プラス1、マイナス1の計算を行うことが出来ます。
今回はインクリメント、デクリメントに焦点を当てましたが、「+= 1」のように1しか足せないという訳ではありません。
1以外の数字も扱いことができます。
Pythonの累算代入演算子(複合代入演算子)の使い方
先ほど1を加算(インクリメント)、減算(デクリメント)する場合の簡単な書き方について学びました。
加算、減算以外にも累算代入演算子があるので、それの使い方について解説します。
累算代入演算子
| 演算子 | 記述例 | 意味 |
| += | a += 2 | a = a + 2 |
| -= | a -= 3 | a = a – 3 |
| *= | a *= 5 | a = a * 5 |
| /= | a /= 7 | a = a / 7 |
| //= | a //= 7 | a = a // 7 |
| %= | a %= 10 | a = a %10 |
「a = a + 2」は「a += 2」と書いても同じ結果になります。
aを1文字短縮することが出来ました。
このように累算代入演算子を使うと、ソースコードを簡潔に書くことができます。
num_1 = 5
num_2 = 5
num_3 = 5
num_4 = 4
num_5 = 4
num_6 = 5
a = 2
num_1 += a
num_2 -= a
num_3 *= a
# 除算は自動的に計算結果がfloat型に型変換される
num_4 /= a
num_5 //= a
num_6 %= a
print(f"num_1の値は{num_1}です。")
print(f"num_2の値は{num_2}です。")
print(f"num_3の値は{num_3}です。")
print(f"num_4の値は{num_4}です。")
print(type(num_4))
print(f"num_5の値は{num_5}です。")
print(type(num_5))
print(f"num_6の値は{num_6}です。")出力結果

「num_4 /= a」で次のようなエラーが表示された人がいるかもしれません。

「num_4 /= a」では、「4 / 2」という割り算をしていますが、Pythonでは割り算の計算結果は自動的に浮動小数点型に変換されます。
このように自動的に型が変換されることを、暗黙的な型変換と言います。
浮動小数点型の値を整数型のnum_4に代入しようとしているため、エラーが発生しています。
Pythonは自動的に型付けを行ってくれるため、num_4はfloat型に変換されるため問題はありません。
Pythonの演算子の優先順位とは?優先順位の一覧
「num = 20 + 4 / 2」という計算があった時は、先に「4 / 2」の計算が行われます。
次に「20 + 2」の計算が行われ、最後にnumに代入されます。
このように演算子には計算の優先順位があります。
以下に表は演算子の優先順位を一覧化したものです。確認してみて下さい。
演算子の優先順位
| 演算子 | 説明 |
| (expressions…),[expressions…], {key: value…}, {expressions…} | 結合式または括弧式、リスト表示、辞書表示、集合表示 |
| x[index], x[index:index], x(arguments…), x.attribute | 添字指定、スライス操作、呼び出し、属性参照 |
| await x | Await 式 |
| ** | べき乗 |
| +x, -x, ~x | 正数、負数、ビット単位 NOT |
| *, @, /, //, % | 乗算、行列乗算、除算、切り捨て除算、剰余 |
| +, – | 加算および減算 |
| <<, >> | シフト演算 |
| & | ビット単位 AND |
| ^ | ビット単位 XOR |
| | | ビット単位 OR |
| in, not in, is, is not, <, <=, >, >=, !=, == | 所属や同一性のテストを含む比較 |
| not x | ブール演算 NOT |
| and | ブール演算 AND |
| or | ブール演算 OR |
| if — else | 条件式 |
| lambda | ラムダ式 |
| := | 代入式 |
Pythonの型変換(キャスト)のやり方
型変換とは、データ型を変更することを言います。
例えば、float型をint型に変換することを型変換やキャストと言います。
・文字列と浮動小数点数を整数に変換する方法
num_str = "123"
num_float = 4.56
num_int = int(num_str)
print(num_int)
num_int = int(num_float)
print(num_int)出力結果

変数num_floatは4.56でしたが、整数に変換したら4になりました。
浮動小数点を整数に変換する場合、小数点以下は切り捨てられます。
・文字列と整数を浮動小数点数に変換する方法
num_str = "123"
num_int = 456
num_float = float(num_str)
print(num_float)
num_float = float(num_int)
print(num_float)出力結果

文字列と整数ともに小数点が加わり、浮動小数点数になっています。
・整数と浮動小数点数を文字列に変換する方法
num_int = 123
num_float = 4.56
num_str = str(num_int)
print(num_str)
num_str = str(num_float)
print(num_str)出力結果

練習問題
加算で7を求め、変数に代入し、コンソールに表示しましょう
# 加算を行い、変数に代入
result = 3 + 4
# 結果をコンソールに表示
print(result)出力結果

減算で3を求め、変数に代入し、コンソールに表示しましょう
# 減算を行い、変数に代入
result = 7 - 4
# 結果をコンソールに表示
print(result)出力結果

乗算で10を求め、変数に代入し、コンソールに表示しましょう
# 乗算を行い、変数に代入
result = 2 * 5
# 結果をコンソールに表示
print(result)出力結果

除算で3.33を求め、変数に代入し、コンソールに表示しましょう
# 除算を行い、変数に代入
result = 10 / 3
# 小数部分を丸めて結果をコンソールに表示
rounded_result = round(result, 2)
print(rounded_result)出力結果

①で7を代入した変数を2で剰余し、変数に代入し、コンソールに表示しましょう
# 加算を行い、変数に代入
result = 3 + 4
# 剰余算
result %= 2
# 結果をコンソールに表示
print(result)出力結果

変数numはどのように値が変化するでしょうか?+=から5つ答えましょう
num = 7
num += 2
num -= 3
num *= 2
num /= 4
num %= 29→6→12→3.0→1.0
numの値はいくつですか?
num = 2 * 5 + 313


