Pythonの数値型を完全ガイド!整数と浮動小数点数の違いを初心者向けに解説
生徒
「Pythonで数字を使いたいのですが、intとfloatって何が違うんですか?」
先生
「とても大切なポイントですね。intは整数、floatは小数を扱う型です。」
生徒
「どんなときにどっちを使えばいいか迷いそうです。」
先生
「では、Pythonの数値型の基本から順番に学んでいきましょう!」
1. Pythonで使える数値型とは?
Pythonで数を扱うとき、主に「整数(int型)」と「浮動小数点数(float型)」の2つの数値型を使います。これらの型は、計算やデータ処理を行うときにとても重要です。
たとえば、りんごの数を数えるときは整数、商品の値段や割引率などの小数を扱うときは浮動小数点数を使います。
2. 整数(int型)の特徴
整数は、小数点を含まない数字です。たとえば「1」や「100」「-5」などです。
Pythonでは、int型は非常に大きな数まで扱うことができます。電卓で使うような数はもちろん、天文学のような大きな数まで計算できます。
num = 10
print(type(num)) # <class 'int'>
3. 浮動小数点数(float型)の特徴
浮動小数点数(float)は、小数点を含む数字です。たとえば「3.14」「0.5」「-2.718」などです。
float型は、小数を含む計算や、割り算の結果、小数の表現などに使われます。
pi = 3.14
print(type(pi)) # <class 'float'>
4. int型とfloat型の違いを確認してみよう
ここでは、intとfloatの違いを具体的な例で見てみましょう。以下のコードでは、整数と小数をそれぞれprint()で出力しています。
a = 5
b = 2.0
print(a + a) # int同士の計算 → 結果もint
print(a + b) # intとfloatの計算 → 結果はfloat
10
7.0
このように、floatが含まれる計算では、結果もfloatになります。
5. 小数点がなくてもfloatになるケースに注意
たとえば割り算(/)を使うと、たとえ割り切れてもfloat型になります。
x = 6 / 3
print(x)
print(type(x)) # floatになる
2.0
<class 'float'>
整数の割り算にしたいときは、「//」という記号を使います。これは「整数除算」と呼ばれます。
y = 6 // 3
print(y)
print(type(y)) # intになる
2
<class 'int'>
6. float型の注意点と丸め誤差
float型では、見た目には正しそうでも、実は正確でない数値が出ることがあります。これは「丸め誤差」と呼ばれる現象です。
たとえば、0.1を3回足すと「0.3」になりそうですが、実際にはちょっとズレます。
x = 0.1 + 0.1 + 0.1
print(x)
0.30000000000000004
このような誤差は、floatの計算では避けられません。お金の計算など、正確な値が必要な場合は、decimal
というモジュールを使うことがあります。
7. どちらを使えばいいか迷ったときの目安
以下のように使い分けるとわかりやすいです。
- 整数だけで十分 → int型
- 小数が必要、割り算の結果など → float型
- お金や正確な数値が必要 → decimalモジュール
Pythonは変数の型を自動で判断してくれるので、初心者のうちはあまり深く考えずに使ってみて、動きや型をprint()で確認すると良いです。
8. type()で型を確認しよう
Pythonでは、type()
を使うと変数の型を確認できます。初心者のうちは、自分が使っている値がintなのかfloatなのかを確認する習慣をつけると、間違いを減らせます。
a = 5
b = 3.5
print(type(a)) # <class 'int'>
print(type(b)) # <class 'float'>
9. floatをintに変換したいとき
float型を整数に変換したいときは、int()
を使います。ただし、小数点以下は切り捨てられるので注意が必要です。
price = 123.45
print(int(price)) # 123に切り捨てられる
123
逆に、整数をfloatにしたいときは、float()
を使えば小数点付きの数字に変換できます。
10. intとfloatは一緒に使える
Pythonでは、intとfloatを混ぜて計算しても自動で処理してくれます。floatが含まれていれば、結果もfloatになります。
a = 10
b = 2.5
print(a + b) # 12.5(floatになる)
12.5
このように、Pythonの数値型は柔軟に使えるように設計されています。