【Python入門講座】3章.計算の基本と四則演算や演算子の使い方

Pythonのサムネイル

☜前の章へ 変数の使い方「型・宣言・初期化・四捨五入」など


この記事で分かること
  1. Pythonの計算方法
  2. インクリメント・デクリメントのやり方
  3. 累算代入演算子の使い方
  4. 演算子の優先順位と優先順位一覧
  5. 型変換(キャスト)のやり方

この章では、Pythonでの基本的な計算方法について学んでいきます。

インクリメントなどよく分からない単語があると思いますが、1つ1つ覚えていきましょう。

普通の計算方法から効率的な計算方法まで解説していきます。

Pythonの計算方法(足し算・引き算・掛け算・割り算・剰余算)

※上記の青い文字から読みたい項目へ移動することができます

演算子一覧

演算子名前記述例意味
+加算演算子a + baにbを加える
減算演算子a – baからbを引く
*乗算演算子a * baにbを掛ける
/除算演算子a / baをbで割る
%剰余演算子a % baをbで割った余り
表:Pythonの演算子

Pythonの計算は上記の演算子を使用して行います。

1つ1つ確認していきましょう。

Pythonの計算方法:足し算

足し算の仕方
  • 1 + 1
add = 1 + 1

print(f"足し算の結果は{add}です。")

出力結果

足し算の結果は2です。

足し算は以下のように行っています。

 add = 1 + 1

足し算は日常生活で足し算をする時と同じように、1 + 1で行うことが出来ます。

Pythonの計算方法:引き算

引き算の仕方
  • 5 – 2
sub = 5 - 2

print(f"引き算の結果は{sub}です。")

出力結果

引き算の結果は3です。

引き算は以下のように行っています。

 sub = 5 - 2

日常生活で引き算をする時と同じように、5 – 2で行うことが出来ます。

Pythonの計算方法:掛け算

掛け算の仕方
  • 4 * 4
mul = 4 * 4

print(f"掛け算の結果は{mul}です。")

出力結果

掛け算の結果は16です。

掛け算は以下のように行っています。

mul = 4 * 4

日常生活で掛け算をする時は「4 × 4」としますが、Pythonでは*(アスタリスク)を使います。

Pythonの計算方法:割り算

割り算の仕方
  • 6 / 2
div = 6 / 2

print(f"割り算の結果は{div}です。")

出力結果

割り算の結果は3.0です。

割り算は以下のように行っています。

 div = 6 / 2

日常生活で割り算をする時は「6 ÷ 2」としますが、Pythonでは/(スラッシュ)を使います。

Pythonの計算方法:切り捨て割り算

切り捨て割り算の仕方
  • 6 // 2
div = 6 // 2

print(f"割り算の結果は{div}です。")

出力結果

切り捨て割り算の結果は3です。

割り算は以下のように行っています。

 div = 6 // 2

Pythonの普通の割り算は/(スラッシュ)を使いましたが、計算結果に小数点が含まれていました。

/(スラッシュ)を2回連続(//)で計算を行うと小数点以下を切り捨てた割り算を行えます。

Pythonの計算方法:剰余算

剰余算とは、割り算の余りを求める計算のことです。

剰余算の仕方
  • 8 % 3
public class App {
    public static void main(String[] args) {

        int rem;
        
        rem = 8 % 3;
        
        System.out.println("剰余算の結果は" + rem + "です。\n");

    }
}

出力結果

剰余算の結果は2です。

8を2で割ると3余り2になるため、出力結果は2になります。

剰余算は以下のように行っています。

 rem = 8 % 3

剰余算には%(パーセント)を使います。

Pythonの変数を使った計算方法

add = 1

add = add + 1

print(f"足し算の結果は{add}です。")

出力結果

足し算の結果は2です。

このように、変数addに1を加算して、addに代入をすることもできます。

Pythonのインクリメントとデクリメントのやり方

インクリメントの仕方
  • 変数名 += 1
デクリメントの仕方
  • 変数名 -= 1

先ほどは、add + 1という形で1を足しました。
1だけ足す、1だけ引くという計算は多々行われます。

そのため、簡単に計算ができるように、累算代入演算子である「+=」と「-=」を使います。

1だけ足すことをインクリメント、1だけ引くことをデクリメントと言います

add = 1
sub = 2

add += 1
sub -= 1

print(f"インクリメントの結果は{add}です。")
print(f"デクリメントの結果は{sub}です。")

出力結果

インクリメントの結果は2です。 デクリメントの結果は1です。

このように簡単に、プラス1、マイナス1の計算を行うことが出来ます。

今回はインクリメント、デクリメントに焦点を当てましたが、「+= 1」のように1しか足せないという訳ではありません。

1以外の数字も扱いことができます。

Pythonの累算代入演算子(複合代入演算子)の使い方

先ほど1を加算(インクリメント)、減算(デクリメント)する場合の簡単な書き方について学びました。

加算、減算以外にも累算代入演算子があるので、それの使い方について解説します。

累算代入演算子

演算子記述例意味
+=a += 2a = a + 2
-=a -= 3a = a – 3
*=a *= 5a = a * 5
/=a /= 7a = a / 7
//=a //= 7a = a // 7
%=a %= 10a = 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_1の値は7です。 num_2の値は3です。 num_3の値は10です。 num_4の値は2.0です。 num_5の値は2です。 num_6の値は1です。

「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 xAwait 式
**べき乗
+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型に変換することを型変換やキャストと言います。

・文字列と浮動小数点数を整数に変換する方法

int型に変換する方法
  • int(変数名)
num_str = "123"
num_float = 4.56

num_int = int(num_str)
print(num_int)

num_int = int(num_float)
print(num_int)

出力結果

123 4

変数num_floatは4.56でしたが、整数に変換したら4になりました。

浮動小数点を整数に変換する場合、小数点以下は切り捨てられます

・文字列と整数を浮動小数点数に変換する方法

float型に変換する方法
  • float(変数名)
num_str = "123"
num_int = 456

num_float = float(num_str)
print(num_float)

num_float = float(num_int)
print(num_float)

出力結果

123.0 456.0

文字列と整数ともに小数点が加わり、浮動小数点数になっています。

・整数と浮動小数点数を文字列に変換する方法

str型に変換する方法
  • str(変数名)
num_int = 123
num_float = 4.56

num_str = str(num_int)
print(num_str)

num_str = str(num_float)
print(num_str)

出力結果

123 4.56

練習問題

加算で7を求め、変数に代入し、コンソールに表示しましょう

# 加算を行い、変数に代入
result = 3 + 4

# 結果をコンソールに表示
print(result)

出力結果

7

減算で3を求め、変数に代入し、コンソールに表示しましょう

# 減算を行い、変数に代入
result = 7 - 4

# 結果をコンソールに表示
print(result)

出力結果

3

乗算で10を求め、変数に代入し、コンソールに表示しましょう

# 乗算を行い、変数に代入
result = 2 * 5

# 結果をコンソールに表示
print(result)

出力結果

10

除算で3.33を求め、変数に代入し、コンソールに表示しましょう

# 除算を行い、変数に代入
result = 10 / 3

# 小数部分を丸めて結果をコンソールに表示
rounded_result = round(result, 2)
print(rounded_result)

出力結果

3.33

①で7を代入した変数を2で剰余し、変数に代入し、コンソールに表示しましょう

# 加算を行い、変数に代入
result = 3 + 4

# 剰余算
result %= 2

# 結果をコンソールに表示
print(result)

出力結果

1

変数numはどのように値が変化するでしょうか?+=から5つ答えましょう

num = 7

num += 2
num -= 3
num *= 2
num /= 4
num %= 2

9→6→12→3.0→1.0

numの値はいくつですか?

num = 2 * 5 + 3

13


☜前の章へ 変数の使い方「型・宣言・初期化・四捨五入」など

タイトルとURLをコピーしました