Python|int型とfloat型の違いとは?型変換をマスターしよう

1. はじめに

Pythonでは数値を扱う際に、int型float型という2つの基本的なデータ型を使い分けます。この記事では、Python|int型とfloat型の違いとは?型変換をマスターしようというテーマのもと、初心者にもわかりやすく両者の違いや、型変換(キャスト)の方法を具体的なコード付きで解説します。

この内容を理解すれば、数値処理のミスを防げるようになり、より正確で効率的なPythonコードを書くことができるようになります。

 

2. int型とfloat型の基本と違い

int型とは

int型は整数(小数点のない数)を扱うデータ型です。例として、1100-5などが該当します。

# int型の変数
x = 10
print(type(x))  # <class 'int'>

出力結果:

<class 'int'>

float型とは

float型は小数点を含む数を扱うデータ型です。たとえば、3.140.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()で型を確認しながら実験するのが最も効果的です。

タイトルとURLをコピーしました