1. はじめに
Pythonでは数値を扱う際に、int型とfloat型という2つの基本的なデータ型を使い分けます。この記事では、「Python|int型とfloat型の違いとは?型変換をマスターしよう」というテーマのもと、初心者にもわかりやすく両者の違いや、型変換(キャスト)の方法を具体的なコード付きで解説します。
この内容を理解すれば、数値処理のミスを防げるようになり、より正確で効率的なPythonコードを書くことができるようになります。
2. int型とfloat型の基本と違い
int型とは
int型は整数(小数点のない数)を扱うデータ型です。例として、1
、100
、-5
などが該当します。
# int型の変数
x = 10
print(type(x)) # <class 'int'>
出力結果:
<class 'int'>
float型とは
float型は小数点を含む数を扱うデータ型です。たとえば、3.14
、0.5
、-2.718
などです。
# float型の変数
y = 3.14
print(type(y)) # <class 'float'>
出力結果:
<class 'float'>
int型とfloat型の主な違い
- int型: 小数を含まない整数
- float型: 小数点以下の値を含むことができる
- 演算結果が異なることがある(特に割り算)
print(10 / 2) # float型 → 5.0
print(10 // 2) # int型(切り捨て)→ 5
出力結果:
5.0
5
3. よくある使い方・応用例
int型からfloat型への変換
整数を小数に変換したいときは、float()
関数を使います。
a = 5
b = float(a)
print(b) # 5.0
print(type(b)) # <class 'float'>
出力結果:
5.0
<class 'float'>
float型からint型への変換
float型をint()
で変換すると、小数点以下が切り捨てられます。
c = 3.99
d = int(c)
print(d) # 3
print(type(d)) # <class 'int'>
出力結果:
3
<class 'int'>
四則演算での自動型変換
int型とfloat型を同時に使うと、演算結果はfloat型になります(自動で昇格します)。
e = 5 # int型
f = 2.0 # float型
result = e + f
print(result) # 7.0
print(type(result)) # <class 'float'>
出力結果:
7.0
<class 'float'>
4. 注意点・エラー対策
float型をintに変換するときの注意
int()
関数を使うと小数点以下が切り捨てられるため、想定外の結果になることがあります。
例:3.99 → 3
文字列から数値に変換するときのエラー
int()
やfloat()
で文字列を変換する際、不正な文字列だとエラーになります。
# エラーになる例
value = "abc"
num = int(value) # ValueError: invalid literal for int()
出力結果:
ValueError: invalid literal for int() with base 10: 'abc'
文字列を数値に変換する際は、isdigit()
などで事前にチェックしましょう。
value = "123"
if value.isdigit():
num = int(value)
print(num)
else:
print("数値ではありません")
出力結果:
123
ゼロ除算(ZeroDivisionError)に注意
float型・int型問わず、除算時に分母が0になるとエラーになります。
x = 10
y = 0
# print(x / y) # ZeroDivisionError: division by zero
出力結果:
ZeroDivisionError: division by zero
5. まとめ
- int型は整数、float型は小数を扱う型
int()
やfloat()
で相互に型変換が可能- 演算時には型に応じた挙動に注意
- float → intでは小数点以下が切り捨てられる点に注意
型変換の理解は、実務でのデータ処理(例:ファイル入力・APIレスポンス処理など)にも役立ちます。学習のコツとしては、print()で型を確認しながら実験するのが最も効果的です。