Pythonの数値演算、裏ワザ発見!?業務効率爆上げテクニック集

2025年4月23日水曜日

Python

Pythonの数値演算、マスターしてみませんか?

プログラミングを始めたばかりだと、「数字の計算ってどうやるの?」って疑問に思いますよね。でも大丈夫!実はPython、数値の計算がとっても得意なんです。

この記事では、Pythonでの基本的な計算方法から、知っておくと便利なちょっとしたコツ、そして「うっかり」やりがちなミスとその対策まで、まるっと解説しちゃいます!サンプルコードもたくさん載せているので、実際に動かしながら楽しく学べますよ。

もう計算のやり方で悩むのはおしまいです!この記事を読めば、Pythonでの計算に自信が持てるようになり、プログラミングがもっともっと楽しくなるはず。

この記事で学べること

  • Pythonでの足し算や引き算などの基本操作がわかる
  • 数字の種類(整数と小数点付きの数)の違いを理解できる
  • 計算するときに気をつけるべきポイントがわかる
  • 変数を使った計算や、簡単な応用計算ができるようになる


Pythonの数値演算とは?

まず、「数値演算」って何?ってところからお話ししますね。

簡単に言うと、プログラムの中で数字を使って計算すること全般を指します。電卓でやるような単純な計算だけじゃありません。

例えば、

  • ゲームキャラクターの位置を動かすための座標計算
  • Webサイトでユーザーが入力した年齢から何かを判断する処理
  • データ分析のために、たくさんの数字を足し合わせたり平均を出したり
  • 「もし○○が△△より大きかったら」みたいな条件分岐での比較

みたいに、プログラムって実は裏でたくさんの計算をしています。

だから、Pythonでプログラミングをする上で、数値演算の基本を知っておくのは、とってもベーシックで、かつ役立つスキルになるんです。

Python数値演算の基本!四則演算と「算術演算子」を覚えよう

Pythonで計算を行うには、「算術演算子」と呼ばれる記号を使います。

小学校で習った「+」や「-」と同じようなものですね。まずは基本となる演算子を覚えちゃいましょう!

  • + : 足し算 (例 5 + 3 = 8)
  • - : 引き算 (例 5 - 3 = 2)
  • * : 掛け算 (例 5 * 3 = 15)
  • / : 割り算 (例 5 / 3 = 1.666...)
  • % : 剰余 (割り算の余り 例 5 % 3 = 2)
  • ** : べき乗 (例 5 ** 3 = 125 → 5の3乗)
  • // : 切り捨て除算 (割り算の答えの整数部分 例 5 // 3 = 1)

たくさんあるように見えますが、使ううちに自然と指が覚えてくれますよ。順番に見ていきましょう!

足し算、引き算、掛け算 (+, -, *) の書き方

まずは一番基本の足し算、引き算、掛け算です。これは見たまんま、直感的に使えます。

Pythonで書くとこんな感じ。

print(10 + 5)  # 足し算
print(10 - 5)  # 引き算
print(10 * 5)  # 掛け算

これを実行すると、ちゃんと計算結果が表示されます。

15
5
50

ね、簡単でしょう? まずはこの3つから試してみるのがおすすめです。

割り算の書き方:注意点も解説 (/, //, %)

次に割り算です。Pythonの割り算にはちょっと特徴があって、3種類の方法があります。

  • / : 普通の割り算。結果は必ず小数点付きの数 (float型) になります。
  • // : 切り捨て除算。割り算の答えの、小数点以下をバッサリ切り捨てた整数部分だけが結果になります。
  • % : 剰余。割り算をしたときの余りだけを求めます。

言葉だけだとピンと来ないかもしれないので、例を見てみましょう。10を3で割ってみます。

print(10 / 3)   # 普通の割り算
print(10 // 3)  # 切り捨て除算
print(10 % 3)   # 剰余 (余り)

実行結果はこちら。

3.3333333333333335
3
1

10 / 3 は普通に計算されて小数点付きの結果に。10 // 3 は、3.33... の小数点以下が切り捨てられて 3 に。10 % 3 は、10割る3は3余り1なので、その余りの 1 が結果になっていますね。この3つの割り算の違い、しっかり押さえておくと後々便利ですよ!例えば % は、数字が偶数か奇数か判定するときなんかに使えます (2で割った余りが0なら偶数!)。

べき乗(累乗)の書き方 (**)

「べき乗」とか「累乗」って聞くと難しそうですが、要は「同じ数を何回か掛け合わせる」計算のことです。数学で $2^3$ みたいに書くアレですね。Pythonではアスタリスク2つ ** で表現します。

例えば、「2の3乗」($2 \times 2 \times 2$) を計算したいときはこう書きます。

print(2 ** 3)

実行結果はもちろんこうなります。

8

右上に小さい数字が乗る計算は `**` を使う! と覚えておきましょう。

Pythonの数値演算で重要な「数値の型」:整数(int)と浮動小数点数(float)

Pythonで数字を扱うとき、実は裏側で数字の種類を区別しています。大きく分けて2つの「型」があります。プログラミングの世界では、データの種類を「型」と呼ぶんですね。

  • 整数 (`int`型) : 10-50 のような、小数点が付かない数字のこと。
  • 浮動小数点数 (`float`型) : 3.14-0.52.0 のように、小数点が付く数字のこと。

なんで型を気にする必要があるかというと、計算の種類によっては結果の型が変わったり、扱い方が少し違ったりすることがあるからです。

例えば、さっきの割り算 / の結果は、たとえ割り切れても必ず `float` 型になります (例: 10 / 2 の結果は 5 じゃなくて 5.0)。

自分が扱っている数字がどっちの型なのか知りたいときは、type() という組み込み関数を使うと便利ですよ。

num1 = 100
num2 = 3.14
print(type(num1))
print(type(num2))

実行結果

<class 'int'>
<class 'float'>

ちゃんと `int` (整数) と `float` (浮動小数点数) って教えてくれますね!

整数 (int) とは?使い方と例

整数 (`int`型) は、一番なじみのある数字の形かもしれません。小数点が付かない、キリッとした数字たちです。プラスでもマイナスでもゼロでもOK。

Pythonコードの中では、見たまま書けばそれが整数として扱われます。

my_integer = 123
negative_integer = -45
zero_num = 0

print(my_integer)
print(negative_integer)
print(zero_num)
print(type(my_integer)) # 型も確認

実行結果

123
-45
0
<class 'int'>

特に難しいことはないですね!

浮動小数点数 (float) とは?使い方と例

浮動小数点数 (`float`型) は、小数点が付いている数字のことです。

円周率の 3.14 や、温度の -5.5 度、あるいは割り切れたとしても 10.0 のように小数点を付けて表現される数字も `float` 型になります。

整数と浮動小数点数を混ぜて計算すると、結果は基本的に `float` 型になります。

pi = 3.14
temperature = -5.5
exact_float = 10.0

print(pi)
print(temperature)
print(exact_float)
print(type(pi)) # 型を確認

# 整数とfloatの計算
result = 10 + 0.5
print(result)
print(type(result)) # 結果の型も確認

実行結果

3.14
-5.5
10.0
<class 'float'>
10.5
<class 'float'>

整数同士の計算でも、割り算 `/` を使うと結果は `float` になる点も覚えておきましょう!

実践!Python数値演算を使ってみよう

基本がわかったところで、少しだけ応用編です!

変数を使ったり、いくつかの計算を組み合わせたりして、ちょっとしたプログラムを書いてみましょう。実際に手を動かしてみるのが、一番の上達への近道ですよ!

サンプル1:変数を使って平均値を計算する

いくつかのテストの点数があって、その平均点を出したい、みたいな場面を考えてみましょう。点数を「変数」という箱に入れておくと、あとで計算がしやすくなります。

# テストの点数を変数に入れる
score1 = 70
score2 = 85
score3 = 65

# 合計点を計算
total_score = score1 + score2 + score3

# 科目数を数える (今回は3科目)
num_subjects = 3

# 平均点を計算 (合計点 ÷ 科目数)
average_score = total_score / num_subjects

# 結果を表示
print("合計点:", total_score)
print("平均点:", average_score)

実行結果

合計点: 220
平均点: 73.33333333333333

こんな風に、変数を使うと、どの数字が何を表しているかわかりやすくなりますし、あとで点数が変わっても変数の値を変えるだけで済みます。とっても便利!

サンプル2:簡単な割引計算をしてみる

お買い物に行ったとき、「2割引っていくら?」って計算しますよね。それをPythonでやってみましょう!

# 商品の元の値段
price = 1500

# 割引率 (20%オフなら0.2)
discount_rate = 0.2

# 割引額を計算 (元の値段 × 割引率)
discount_amount = price * discount_rate

# 割引後の価格を計算 (元の値段 - 割引額)
final_price = price - discount_amount

# 結果を表示
print("元の値段:", price, "円")
print("割引額:", discount_amount, "円")
print("割引後の価格:", final_price, "円")

実行結果

元の値段: 1500 円
割引額: 300.0 円
割引後の価格: 1200.0 円

パーセントの計算も、掛け算や引き算を使えばPythonで簡単にできますね!ちょっとした計算もプログラムに任せると楽ちんです。

Python数値演算の注意点

Pythonの数値演算は便利ですが、いくつか気をつけたいポイント、いわゆる「落とし穴」もあります。知っておけば、エラーが出ても慌てずに対処できるようになりますよ。転ばぬ先の杖、ですね!

【注意点1】ゼロ除算エラー (ZeroDivisionError)

数学の世界では「0で割る」ことはできません。プログラムの世界も同じで、数値を0で割ろうとするとエラーが発生してプログラムが止まってしまいます。これが「ゼロ除算エラー (`ZeroDivisionError`)」です。

例えば、こんなコードを実行すると…

# わざと0で割ってみる
result = 10 / 0
print(result)

こうなります。

Traceback (most recent call last):
  File "main.py", line 2, in <module>
    result = 10 / 0
ZeroDivisionError: division by zero

`ZeroDivisionError` と出ていますね。これを防ぐには、割り算をする前に「割る数が0じゃないか?」をチェックするのが一般的です。if文を使います。

divisor = 0 # 割る数
dividend = 10 # 割られる数

if divisor != 0: # もし割る数が0でなければ
  result = dividend / divisor
  print(result)
else: # もし割る数が0だったら
  print("エラー:0で割ることはできません!")

実行結果

エラー:0で割ることはできません!

こうすれば、エラーで止まる代わりにメッセージを出して、安全にプログラムを続けることができます。

【注意点2】浮動小数点数 (float) の計算誤差

これはちょっと不思議な現象かもしれませんが、コンピュータが `float` 型の数値を扱うとき、内部の仕組みの関係で、ごくごく稀に、ほんのわずかな計算誤差が生じることがあります

有名な例がこれです。

print(0.1 + 0.2)

普通に考えたら `0.3` になってほしいですよね?でも、実行してみると…

0.30000000000000004

あれ?なんか後ろに余計な数字が付いていますね。これが計算誤差です。ほとんどの場合は無視できるくらい小さな差ですが、お金の計算のように、すごく厳密な精度が求められる場面では、ちょっと注意が必要です。(そういうときは `Decimal` という別の仕組みを使うこともありますが、まずは「`float` にはこういうクセがあるんだな」と知っておくだけでOKです)。

【まとめ】Python数値演算をマスターして、プログラミングの可能性を広げよう!

この記事では、Pythonでの数値演算について、基本的なところから見てきました。

  • 足し算、引き算、掛け算、割り算などの基本的な算術演算子の使い方
  • 整数 (`int`) と浮動小数点数 (`float`) という数字の型の違い
  • 変数を使った計算や、簡単なサンプルプログラム
  • ゼロ除算エラーや浮動小数点数の誤差といった注意点

数値演算ができるようになると、作れるプログラムの幅がぐーんと広がります。データ処理の第一歩を踏み出したり、ゲームのロジックを考えたり、身の回りのちょっとした計算を自動化したり…。

これであなたもPythonで計算はバッチリ!自信を持って、どんどん色々なプログラム作りに挑戦してみてくださいね。Pythonプログラミング、もっともっと楽しんでいきましょう!

【関連記事】 「Pythonとは?」に答える最初の一歩

このブログを検索

  • ()

自己紹介

自分の写真
リモートワークでエンジニア兼Webディレクターとして活動しています。プログラミングやAIなど、日々の業務や学びの中で得た知識や気づきをわかりやすく発信し、これからITスキルを身につけたい人にも役立つ情報をお届けします。 note → https://note.com/yurufuri X → https://x.com/mnao111

QooQ