1. はじめに
Pythonでは、異なる数値型(整数型、浮動小数点型、複素数型)を簡単に変換することができます。この記事では、int()、float()、complex() 関数を使って「数値型を変換する」方法を詳しく解説します。
これらの関数を使えば、文字列から数値型への変換や、小数から整数、実数から複素数など、さまざまな数値処理が柔軟に行えます。特にPython初心者の方は、この数値型変換の基礎をしっかり押さえておくことで、後々の処理やエラー対策がスムーズになります。
2. Pythonの数値型とint()、float()、complex()の基本
2.1 Pythonの基本的な数値型とは?
Pythonには主に次の3つの数値型があります。
- int:整数型(例:1, -10, 0)
- float:浮動小数点型(例:3.14, -0.5, 2.0)
- complex:複素数型(例:2+3j, -1j)
これらはPythonの基本型であり、変換にはそれぞれ int()
、float()
、complex()
を使います。
2.2 int()で整数型に変換
float型や数値を表す文字列を整数に変換できます。
# floatからintへ変換
a = int(3.7)
print(a)
# 文字列からintへ変換
b = int("42")
print(b)
実行結果:
3
42
2.3 float()で浮動小数点型に変換
整数や文字列を浮動小数点数に変換します。
# intからfloatへ変換
a = float(5)
print(a)
# 文字列からfloatへ変換
b = float("3.14")
print(b)
実行結果:
5.0
3.14
2.4 complex()で複素数型に変換
実部と虚部を指定して複素数を作成できます。
# 実数のみ
a = complex(3)
print(a)
# 実部と虚部を指定
b = complex(2, -4)
print(b)
# 文字列から複素数を生成
c = complex("1+2j")
print(c)
実行結果:
(3+0j)
(2-4j)
(1+2j)
3. よくある使い方・応用例
3.1 ユーザー入力の型変換
ユーザーからの入力(input()
)は文字列型で受け取るため、数値として使うには型変換が必要です。
# ユーザー入力を整数に変換
num = int(input("整数を入力してください: "))
print(f"2倍すると: {num * 2}")
3.2 数学的な計算での変換
割り算の結果をfloatに変換してからさらに複素数にする、など複合的な使い方もあります。
# 割り算結果をfloat → complexに変換
result = 5 / 2
float_result = float(result)
complex_result = complex(float_result)
print(complex_result)
実行結果:
(2.5+0j)
3.3 数値リストの一括変換
リスト内包表記で一括して型変換することもよくあります。
# 文字列のリストをfloatに変換
str_nums = ["1.1", "2.2", "3.3"]
float_nums = [float(x) for x in str_nums]
print(float_nums)
実行結果:
[1.1, 2.2, 3.3]
4. 注意点・エラー対策
4.1 無効な文字列は変換できない
文字列が正しい数値でないと変換時にエラーになります。
# 無効な文字列をintに変換しようとするとエラー
val = int("abc") # ValueError
対処法:
try:
val = int("abc")
except ValueError:
print("整数に変換できませんでした")
4.2 floatからintへの変換では小数点以下が切り捨てられる
float → intの変換は四捨五入ではなく、単純な切り捨てです。
a = int(9.9)
print(a)
実行結果:
9
4.3 complexの引数に注意
complex()
に文字列を渡すときは、正しい形式(”a+bj”)である必要があります。
5. まとめ
今回は、Pythonにおける数値型の変換方法として int()、float()、complex() 関数の使い方を解説しました。
int()
:整数に変換(小数点以下は切り捨て)float()
:小数点付きの浮動小数点数に変換complex()
:複素数に変換(実部+虚部j)
これらの関数はデータ型の変換だけでなく、ユーザー入力の処理や計算精度の調整、エラー防止にも活用できます。数値を扱う処理では欠かせない基本スキルです。
実務でも、CSVデータの前処理やWebフォームの入力値変換など、さまざまな場面で活用できます。ぜひ、コードを書きながら慣れていきましょう。