Python四則演算の基礎|足し算・引き算・掛け算・割り算
Python四則演算の基本から応用まで完全解説。足し算・引き算・掛け算・割り算の使い方と実践的な計算例を詳しく学べます。
Python四則演算の基礎|足し算・引き算・掛け算・割り算
Pythonで計算するとき、こんな悩みありませんか?
みなさん、Pythonで計算をする際にこんな経験はありませんか?
「四則演算の基本的な書き方が分からない」 「計算結果の型が思った通りにならない」 「小数点の扱いが難しい」
実は、Pythonの四則演算はとてもシンプルなんです。 でも、知らないと迷ってしまうポイントもいくつかあります。
この記事では、Python初心者でも四則演算を完璧にマスターできるよう、基本的な書き方から実践的な使い方まで詳しく解説します。 具体的なコード例とともに説明するので、きっと「なるほど!」と思えるはずです。
足し算(+演算子)を覚えよう
まずは、数値を足し合わせる基本操作から始めましょう。
基本的な足し算
# 基本的な足し算a = 10b = 5result = a + bprint(f"{a} + {b} = {result}") # 10 + 5 = 15
足し算は +
記号を使います。
とてもシンプルですよね。
整数同士だけでなく、小数も足し算できます。
# 小数との足し算c = 3.14d = 2.86result2 = c + dprint(f"{c} + {d} = {result2}") # 3.14 + 2.86 = 6.0
整数と小数を混ぜて計算することもできます。
# 整数と小数の足し算e = 10f = 3.5result3 = e + fprint(f"{e} + {f} = {result3}") # 10 + 3.5 = 13.5print(f"結果の型: {type(result3).__name__}") # float
整数と小数を足すと、結果は小数(float型)になります。
複数の数値を足してみよう
# 複数の数値の足し算result4 = 1 + 2 + 3 + 4 + 5print(f"1 + 2 + 3 + 4 + 5 = {result4}") # 15
# 変数を使った場合num1, num2, num3 = 100, 200, 300total = num1 + num2 + num3print(f"{num1} + {num2} + {num3} = {total}") # 600
複数の数値でも、+
でつなげて計算できます。
便利な代入演算子(+=)
# 代入演算子(+=)counter = 0print(f"初期値: {counter}")
counter += 10 # counter = counter + 10 と同じprint(f"10を足した後: {counter}") # 10
counter += 5print(f"さらに5を足した後: {counter}") # 15
+=
を使うと、変数に値を足して結果を同じ変数に代入できます。
とても便利な書き方です。
実用的な足し算の例
# 買い物の合計金額計算apple_price = 120banana_price = 80orange_price = 150
total_price = apple_price + banana_price + orange_priceprint(f"りんご: {apple_price}円")print(f"バナナ: {banana_price}円")print(f"オレンジ: {orange_price}円")print(f"合計: {total_price}円") # 350円
実際の買い物でも、こんな風に合計金額を計算できます。
文字列の足し算(結合)
# 文字列の結合first_name = "太郎"last_name = "田中"full_name = last_name + first_nameprint(f"フルネーム: {full_name}") # 田中太郎
# 挨拶メッセージgreeting = "こんにちは、"message = greeting + full_name + "さん!"print(message) # こんにちは、田中太郎さん!
+
は文字列同士をつなげる(結合する)こともできます。
引き算(-演算子)を覚えよう
次は、数値を引く基本操作を学びましょう。
基本的な引き算
# 基本的な引き算a = 20b = 8result = a - bprint(f"{a} - {b} = {result}") # 20 - 8 = 12
引き算は -
記号を使います。
小数の引き算も同じように書けます。
# 小数の引き算c = 10.5d = 3.2result2 = c - dprint(f"{c} - {d} = {result2}") # 10.5 - 3.2 = 7.3
負の数になる場合
# 負の数になる場合e = 5f = 10result3 = e - fprint(f"{e} - {f} = {result3}") # 5 - 10 = -5
小さい数から大きい数を引くと、負の数になります。 これも普通の計算と同じですね。
符号としてのマイナス
# 符号の反転positive = 15negative = -positive # 符号を反転print(f"正の数: {positive}") # 15print(f"負の数: {negative}") # -15
-
は符号を反転させることもできます。
実用的な引き算の例
# 在庫管理の計算initial_stock = 100sold_today = 25returned_today = 3
current_stock = initial_stock - sold_today + returned_todayprint(f"初期在庫: {initial_stock}個")print(f"販売数: {sold_today}個")print(f"返品数: {returned_today}個")print(f"現在在庫: {current_stock}個") # 78個
在庫管理システムでは、このような引き算がよく使われます。
# 年齢計算current_year = 2024birth_year = 1995age = current_year - birth_yearprint(f"現在年: {current_year}年")print(f"生年: {birth_year}年")print(f"年齢: {age}歳") # 29歳
年齢計算も引き算の典型的な例ですね。
掛け算(*演算子)を覚えよう
続いて、数値を掛け合わせる基本操作を学びましょう。
基本的な掛け算
# 基本的な掛け算a = 6b = 7result = a * bprint(f"{a} * {b} = {result}") # 6 * 7 = 42
掛け算は *
記号を使います。
小数の掛け算も同じです。
# 小数の掛け算c = 3.14d = 2.0result2 = c * dprint(f"{c} * {d} = {result2}") # 3.14 * 2.0 = 6.28
0との掛け算
# 0との掛け算num = 100zero_result = num * 0print(f"{num} * 0 = {zero_result}") # 100 * 0 = 0
# 負の数との掛け算negative_result = num * (-2)print(f"{num} * (-2) = {negative_result}") # 100 * (-2) = -200
どんな数に0を掛けても結果は0になります。 負の数を掛けると、符号が変わります。
実用的な掛け算の例
# 面積の計算length = 8width = 6area = length * widthprint(f"長方形の面積: {length}m × {width}m = {area}㎡") # 48㎡
# 単価計算unit_price = 120quantity = 15total_amount = unit_price * quantityprint(f"単価: {unit_price}円")print(f"数量: {quantity}個")print(f"合計金額: {total_amount}円") # 1800円
面積計算や金額計算で掛け算はよく使われます。
文字列やリストの繰り返し
# 文字列の繰り返しchar = "★"repeated_char = char * 10print(f"星マーク: {repeated_char}") # ★★★★★★★★★★
# 区切り線の作成separator = "-" * 30print(f"区切り線: {separator}") # ------------------------------
*
は文字列を繰り返すこともできます。
区切り線を作るときなどに便利です。
割り算(/演算子と//演算子)を覚えよう
最後に、数値を割る基本操作を学びましょう。
基本的な割り算(/演算子)
# 通常の割り算a = 10b = 3result = a / bprint(f"{a} / {b} = {result}") # 10 / 3 = 3.3333333333333335print(f"結果の型: {type(result).__name__}") # float
/
を使った割り算は、常に小数(float型)を返します。
割り切れる場合でも小数になります。
# 割り切れる場合c = 12d = 4result2 = c / dprint(f"{c} / {d} = {result2}") # 12 / 4 = 3.0print(f"結果の型: {type(result2).__name__}") # float
整数割り算(//演算子)
# 整数割り算(小数点以下切り捨て)result3 = 10 // 3print(f"10 // 3 = {result3}") # 10 // 3 = 3print(f"結果の型: {type(result3).__name__}") # int
//
を使うと、小数点以下を切り捨てた整数が得られます。
余り(%演算子)
# 余りの計算remainder = 10 % 3print(f"10 % 3 = {remainder}") # 10 % 3 = 1
# 偶数・奇数の判定numbers = [4, 7, 12, 15]for num in numbers: if num % 2 == 0: print(f"{num}: 偶数") else: print(f"{num}: 奇数")
%
は余りを求める演算子です。
偶数・奇数の判定によく使われます。
ゼロ除算エラーの対策
# 安全な割り算関数def safe_divide(numerator, denominator): if denominator == 0: return "ゼロで割ることはできません" return numerator / denominator
print(safe_divide(10, 2)) # 5.0print(safe_divide(10, 0)) # ゼロで割ることはできません
ゼロで割るとエラーになってしまいます。 事前にチェックして、安全に計算しましょう。
実用的な割り算の例
# 平均点の計算scores = [85, 92, 78, 96, 89]total = sum(scores)average = total / len(scores)print(f"点数: {scores}")print(f"平均点: {average:.1f}点") # 88.0点
# 時間の換算total_minutes = 150hours = total_minutes // 60minutes = total_minutes % 60print(f"総分数: {total_minutes}分")print(f"時間換算: {hours}時間{minutes}分") # 2時間30分
平均計算や時間の換算で割り算がよく使われます。
演算子の優先順位を理解しよう
複数の演算子を組み合わせるときの計算の順序を決める規則について学びましょう。
基本的な優先順位
演算子には優先順位があります。
# 掛け算が先に計算されるresult1 = 2 + 3 * 4print(f"2 + 3 * 4 = {result1}") # 2 + 12 = 14
# 割り算が先に計算される result2 = 10 - 8 / 2print(f"10 - 8 / 2 = {result2}") # 10 - 4.0 = 6.0
掛け算と割り算は、足し算と引き算より先に計算されます。
括弧で順序を変更
# 括弧なしwithout_parentheses = 2 + 3 * 4print(f"括弧なし: 2 + 3 * 4 = {without_parentheses}") # 14
# 括弧ありwith_parentheses = (2 + 3) * 4print(f"括弧あり: (2 + 3) * 4 = {with_parentheses}") # 20
括弧を使うと、計算の順序を変更できます。 複雑な計算では括弧を使って意図を明確にしましょう。
実用的な計算例
# 消費税込み価格の計算base_price = 1000tax_rate = 0.1
# 正しい計算(括弧を使用)correct_total = base_price * (1 + tax_rate)print(f"正しい税込み計算: {correct_total}円") # 1100.0円
# 間違った計算(括弧なし)wrong_total = base_price * 1 + tax_rateprint(f"間違った計算: {wrong_total}円") # 1000.1円
税込み価格の計算では、括弧を使わないと間違った結果になってしまいます。
数値型の変換を理解しよう
計算結果の型と精度について理解しましょう。
基本的な型変換
# 文字列から数値への変換str_int = "123"str_float = "3.14"
converted_int = int(str_int)converted_float = float(str_float)
print(f"文字列 '{str_int}' → 整数 {converted_int}")print(f"文字列 '{str_float}' → 小数 {converted_float}")
文字列で表現された数値は、int()
や float()
で数値に変換できます。
四捨五入
import math
decimal_num = 3.7
# 四捨五入rounded_num = round(decimal_num)print(f"round({decimal_num}) = {rounded_num}") # 4
# 切り下げfloor_num = math.floor(decimal_num)print(f"math.floor({decimal_num}) = {floor_num}") # 3
# 切り上げceil_num = math.ceil(decimal_num)print(f"math.ceil({decimal_num}) = {ceil_num}") # 4
round()
で四捨五入、math.floor()
で切り下げ、math.ceil()
で切り上げができます。
小数点の精度問題
# 小数の計算で起こる精度の問題result = 0.1 + 0.2print(f"0.1 + 0.2 = {result}") # 0.30000000000000004print(f"0.1 + 0.2 == 0.3? {result == 0.3}") # False
# 精度を考慮した比較def is_close(a, b, tolerance=1e-10): return abs(a - b) < tolerance
print(f"精度を考慮した比較: {is_close(result, 0.3)}") # True
小数の計算では、わずかな誤差が生じることがあります。 比較するときは注意が必要です。
実践的な計算関数を作ってみよう
学んだ知識を使って、実用的な計算関数を作ってみましょう。
BMI計算関数
def calculate_bmi(weight, height): """BMI計算(エラーハンドリング付き)""" if height <= 0 or weight <= 0: return "身長と体重は正の値である必要があります" bmi = weight / (height ** 2) if bmi < 18.5: category = "痩せ型" elif bmi < 25: category = "普通体重" elif bmi < 30: category = "肥満(1度)" else: category = "肥満(2度以上)" return f"BMI: {bmi:.1f} ({category})"
# 使用例result = calculate_bmi(70, 1.75)print(result) # BMI: 22.9 (普通体重)
体重と身長からBMIを計算して、カテゴリーも判定する関数です。
割り勘計算関数
def calculate_payment_split(total_amount, people): """割り勘計算""" if total_amount <= 0 or people <= 0: return "無効な引数です" per_person = total_amount // people remainder = total_amount % people result = { 'total_bill': total_amount, 'per_person': per_person, 'remainder': remainder } return result
# 使用例split_result = calculate_payment_split(4580, 4)print(f"合計金額: {split_result['total_bill']}円")print(f"一人当たり: {split_result['per_person']}円")if split_result['remainder'] > 0: print(f"余り: {split_result['remainder']}円")
飲み会の会計などで使える割り勘計算関数です。
まとめ:四則演算をマスターしよう
Python四則演算をマスターするための重要ポイントをまとめます。
基本的な演算子の使い方:
+
: 足し算、文字列結合-
: 引き算、符号反転*
: 掛け算、文字列・リスト繰り返し/
: 割り算(常に小数を返す)//
: 整数割り算(小数点以下切り捨て)%
: 余り計算
重要なポイント:
- 演算子の優先順位を理解する
- 複雑な式では括弧を使う
- ゼロ除算エラーに注意する
- 小数の精度問題を理解する
実践のコツ:
- エラーハンドリングを忘れずに
- 型変換が必要な場合は適切に処理
- 関数にして再利用しやすくする
Python四則演算をマスターすることで、プログラミングの基礎的な計算処理がしっかりと身につきます。
ぜひこれらの基本演算を使って、実際の計算プログラムを作ってみてください! きっと「計算って意外と簡単!」と感じられるはずです。