Pythonのint()関数を徹底解説!型変換から活用事例まで
Pythonでプログラミングをしていると、数値の扱いには避かせないのが型変換です。特に、小数を整数にしたり、文字列を数値として扱いたい場合に活躍するのが**int()関数**です。この記事では、Pythonのint()関数の基本的な使い方から、知っておくと便利な活用事例までを初心者にもわかりやすく解説します。
int()関数とは?Pythonにおける整数への型変換
Pythonのint()関数は、その名の通り、引数として渡された値を整数(integer)に変換するための組み込み関数です。異なるデータ型の値を整数として扱いたい場合に非常に役立ちます。
基本的な使い方:数値の切り捨て
最もよく使われるのは、浮動小数点数(小数)を整数に変換するケースです。int()関数は、小数点以下を切り捨てて整数にします。
# 浮動小数点数を整数に変換する例
float_num = 3.14
integer_num = int(float_num)
print(integer_num) # 出力: 3
float_num_negative = -2.7
integer_num_negative = int(float_num_negative)
print(integer_num_negative) # 出力: -2 (負の数の場合も小数点以下を切り捨て)
ポイント: int()関数は、四捨五入ではなく、常に小数点以下を切り捨てます。四捨五入したい場合は、round()関数を使用するなど、別の方法を検討する必要があります。
文字列を整数に変換する
数字のみで構成された文字列も、int()関数を使って整数に変換できます。これは、ユーザーからの入力が文字列として受け取られる場合などに非常に便利です。
# 文字列を整数に変換する例
str_num = "123"
integer_from_str = int(str_num)
print(integer_from_str) # 出力: 123
print(type(integer_from_str)) # 出力: <class 'int'>
# 計算も可能に
num1 = int("10")
num2 = int("5")
print(num1 + num2) # 出力: 15
注意点: 数字以外の文字が含まれている文字列をint()関数で変換しようとすると、ValueErrorが発生します。
# エラーになる例
# invalid_str = "abc"
# invalid_int = int(invalid_str) # ValueError: invalid literal for int() with base 10: 'abc'
別の基数(進数)の文字列を整数に変換する
int()関数は、オプションで第二引数に基数(base)を指定することで、2進数や16進数などの文字列を10進数の整数に変換することもできます。
# 2進数文字列を整数に変換
binary_str = "1011" # 10進数で11
decimal_from_binary = int(binary_str, 2)
print(decimal_from_binary) # 出力: 11
# 16進数文字列を整数に変換
hex_str = "A5" # 10進数で165
decimal_from_hex = int(hex_str, 16)
print(decimal_from_hex) # 出力: 165
int()関数の便利な活用事例
1. ユーザー入力の数値処理
ウェブアプリケーションやコマンドラインツールでユーザーから数値入力を受け取る際、入力は通常文字列として扱われます。int()関数を使うことで、それらの文字列を数値として計算に利用できるようになります。
age_str = input("あなたの年齢を入力してください: ") # 例: "30"
try:
age = int(age_str)
print(f"来年には{age + 1}歳になりますね!")
except ValueError:
print("有効な数値を入力してください。")
2. データ型の整合性を保つ
データ処理を行う際、異なる型の数値が混在しているとエラーの原因になることがあります。int()関数を使って特定の列や値を確実に整数に変換することで、データ処理の安定性を向上させることができます。
3. ループ処理におけるインデックス
リストやタプルなどのシーケンスを操作する際、インデックスを整数として扱う必要があります。浮動小数点数の計算結果をインデックスとして利用したい場合などにint()関数が役立ちます。
my_list = ['apple', 'banana', 'cherry']
# 例えば、何らかの計算結果で浮動小数点数になったインデックスを整数にする場合
approx_index = 1.9
access_index = int(approx_index)
print(my_list[access_index]) # 出力: banana
int()関数とよく比較される関数
round()関数との違い
int()関数が常に小数点以下を切り捨てるのに対し、round()関数は四捨五入を行います。目的に応じて使い分けることが重要です。
print(int(3.7)) # 出力: 3 (切り捨て)
print(round(3.7)) # 出力: 4 (四捨五入)
print(int(3.2)) # 出力: 3
print(round(3.2)) # 出力: 3
float()関数との違い
int()関数が整数への変換であるのに対し、float()関数は浮動小数点数(小数)へ変換します。
print(float("3.14")) # 出力: 3.14
print(int("3.14")) # ValueError (文字列が浮動小数点数の場合はint()で直接変換できない)
まとめ
Pythonのint()関数は、プログラミングにおいて非常に頻繁に利用される基本的な関数です。浮動小数点数や文字列を整数に変換することで、数値計算やデータ処理の幅を広げることができます。
int()関数は、値を整数に変換します。浮動小数点数からは小数点以下を切り捨てます。
数字のみの文字列を整数に変換できますが、数字以外の文字が含まれるとエラーになります。
第2引数で基数を指定することで、2進数や16進数などの文字列も変換できます。
この知識をしっかり身につけて、Pythonでのプログラミングをさらに効率的に進めていきましょう。
■プロンプトだけでオリジナルアプリを開発・公開してみた!!
■AI時代の第一歩!「AI駆動開発コース」はじめました!
テックジム東京本校で先行開始。
■テックジム東京本校
「武田塾」のプログラミング版といえば「テックジム」。
講義動画なし、教科書なし。「進捗管理とコーチング」で効率学習。
より早く、より安く、しかも対面型のプログラミングスクールです。
<短期講習>5日で5万円の「Pythonミニキャンプ」開催中。
<月1開催>放送作家による映像ディレクター養成講座
<オンライン無料>ゼロから始めるPython爆速講座

