Pythonの整数と浮動小数点数の違いとは?数値型の基本を解説
生徒
「Pythonで数字を使いたいんですけど、『整数』とか『浮動小数点数』って何ですか?どっちも数字ですよね?」
先生
「たしかにどちらも数字ですが、Pythonではそれぞれ別の扱いになります。整数は小数点のない数字、浮動小数点数は小数点を含む数字です。」
生徒
「なるほど…でも実際にどう違うのかイメージがわきません。」
先生
「じゃあ今回は、Pythonで使う『整数(int型)』と『浮動小数点数(float型)』の違いについて、具体例と一緒に詳しく解説していきましょう。」
1. Pythonで使える数値型の基本
Pythonには数値型(numeric type)と呼ばれるデータ型があります。数値型は主に次の2つに分かれます。
- 整数(int型):1、100、-5 などの小数点のない数字
- 浮動小数点数(float型):3.14、-0.5、2.0 などの小数を含む数字
これらはPythonが数字をどう扱うかに影響します。特に計算の結果や表示が変わることもあるので、しっかり区別して使いましょう。
2. 整数(int型)の特徴と使い方
整数(int型)は、数の中でも小数点がないものです。Pythonでは簡単に使えます。
a = 10
b = -3
print(a + b)
7
整数は四則演算(+−×÷)や比較(大きい・小さい)にも使えます。メモリも節約できて処理も速いのが特徴です。
3. 浮動小数点数(float型)の特徴と使い方
浮動小数点数(float型)は、小数点を含む数字です。Pythonでは数字の中に「.(ドット)」があると、自動的にfloat型として認識されます。
x = 3.14
y = 2.0
print(x * y)
6.28
float型は計算に柔軟ですが、実は「誤差」が出ることもあります。コンピューターが小数を正確に表現できないことがあるからです。
print(0.1 + 0.2)
0.30000000000000004
このように、float型では思った通りの結果が出ないこともあるので注意が必要です。
4. 整数と浮動小数点数の違いを比較
ここで、int型とfloat型の違いをまとめてみましょう。
種類 | 例 | 特徴 |
---|---|---|
int型(整数) | 1, 100, -5 | 小数点なし。処理が速い |
float型(小数) | 3.14, -0.5, 2.0 | 小数あり。誤差が出ることがある |
5. 型の確認にはtype()関数を使おう
変数が整数型か浮動小数点型かを確認したいときは、type()
関数を使います。
n = 5
print(type(n))
f = 5.0
print(type(f))
<class 'int'>
<class 'float'>
このようにtype関数を使えば、データがどの型かすぐにわかります。
6. int型とfloat型の自動変換(暗黙の型変換)
Pythonでは、intとfloatを混ぜて計算すると、自動的にfloatに変換されます。
a = 2
b = 1.5
result = a + b
print(result)
print(type(result))
3.5
<class 'float'>
このように、floatが混ざると結果はfloat型になります。
7. 明示的な型変換(キャスト)で制御する
Pythonでは、意図的に型を変えたいときに「キャスト」と呼ばれる変換を使います。
int()
:小数を整数に変換(小数点以下切り捨て)float()
:整数を小数に変換
print(int(3.9)) # → 3
print(float(5)) # → 5.0
このようにして、型を明確に変えて使うことができます。