Python int() 関数
int()int() は Python で最もよく使われる組み込み関数の一つで、他の型のデータを整数型に変換するために使用されます。
プログラミングでは、文字列、浮動小数点数、またはその他の型のデータを整数に変換して、数値計算や比較を行うことがよくあります。int()int() 関数を使えば、この変換を簡単に完了できます。
単語の意味: intであるintegerint は(integer)の略で、整数型を表します。
基本構文と引数
int()int() は組み込み関数なので、モジュールをインポートしなくても直接呼び出せます。
構文形式
int(x) int(x, base)
引数の説明
- 引数 x:
- 型: 文字列、数値、または整数に変換可能なその他のオブジェクト
- 説明: 整数に変換する値。x が文字列の場合は、base 引数で進数を指定できます。
- 引数 base(省略可能):
- 型: 整数(2, 8, 10, 16)
- 説明: x の進数。デフォルトは 10(10進数)。x が文字列の場合のみ有効です。
関数の説明
- 戻り値: 整数オブジェクトを返します。
- 特殊なケース:
int()引数なしの場合は 0 を返します- 浮動小数点数は切り捨てられます(ゼロ方向への切り捨て)
- 文字列は有効な数値表現である必要があります
例
簡単なものから複雑なものまでの一連の例を通して、int()int() の使い方を徹底的にマスターしましょう。
例1:基本用途 - 数値の変換
例
# 浮動小数点数から変換
print(int(3.7)) # 出力: 3
print(int(-3.7)) # 出力: -3
# ブール値から変換
print(int(True)) # 出力: 1
print(int(False)) # 出力: 0
# 文字列から変換
print(int("42")) # 出力: 42
print(int(" 10 ")) # 出力: 10(空白は自動的に除去されます)
print(int(3.7)) # 出力: 3
print(int(-3.7)) # 出力: -3
# ブール値から変換
print(int(True)) # 出力: 1
print(int(False)) # 出力: 0
# 文字列から変換
print(int("42")) # 出力: 42
print(int(" 10 ")) # 出力: 10(空白は自動的に除去されます)
実行結果の想定:
3 -3 1 0 42 10
コードの解説:
- 浮動小数点数を整数に変換する場合、小数部分は四捨五入ではなく直接切り捨てられます(ゼロ方向への丸め)。
- ブール値は
True1 に変換され、False0 に変換されます。 - 文字列を変換する場合、先頭と末尾の空白文字は自動的に除去されます。
例2:進数変換
int()さまざまな進数の文字列を10進数の整数に変換できます。
例
# 2進数の文字列(0b で始まる)
print(int("1010", 2)) # 出力: 10
# 8進数の文字列(0o で始まる)
print(int("12", 8)) # 出力: 10
# 16進数の文字列(0x で始まる)
print(int("a", 16)) # 出力: 10
print(int("FF", 16)) # 出力: 255
# 接頭辞付きの文字列
print(int("0b1010", 2)) # 出力: 10
print(int("0o12", 8)) # 出力: 10
print(int("0xff", 16)) # 出力: 255
print(int("1010", 2)) # 出力: 10
# 8進数の文字列(0o で始まる)
print(int("12", 8)) # 出力: 10
# 16進数の文字列(0x で始まる)
print(int("a", 16)) # 出力: 10
print(int("FF", 16)) # 出力: 255
# 接頭辞付きの文字列
print(int("0b1010", 2)) # 出力: 10
print(int("0o12", 8)) # 出力: 10
print(int("0xff", 16)) # 出力: 255
実行結果の想定:
10 10 10 255 10 10 255
コードの解説:
- 2番目の引数は、文字列の数値の進数を指定します。2 は2進数、8 は8進数、16 は16進数を示します。
- 文字列には接頭辞を付けることができます(例:
0b,0o,0x)、付けなくてもかまいません。 - 16進数では、a-f は大文字でも小文字でもかまいません。
例3:よくある応用シナリオ
int()実際のプログラミングでは、ユーザー入力の処理やデータクリーニングなど、多くの応用シーンがあります。
例
# ユーザー入力の処理(input は文字列を返す)
# ユーザーが "100" と入力したと仮定
user_input = "100"
price = int(user_input)
print(f"商品の価格: {price} 元") # 出力: 商品の価格: 100 元
# ファイルから読み取った数字の文字列
numbers_str = ["10", "20", "30"]
numbers = [int(n) for n in numbers_str]
print(numbers) # 出力: [10, 20, 30]
# 合計を計算
total = sum(numbers)
print(f"合計: {total}") # 出力: 合計: 60
# 小数を含む文字列の処理(floatに変換してからintに変換)
price_str = "19.99"
price = int(float(price_str))
print(f"価格(整数化): {price} 元") # 出力: 価格(整数化): 19 元
# ユーザーが "100" と入力したと仮定
user_input = "100"
price = int(user_input)
print(f"商品の価格: {price} 元") # 出力: 商品の価格: 100 元
# ファイルから読み取った数字の文字列
numbers_str = ["10", "20", "30"]
numbers = [int(n) for n in numbers_str]
print(numbers) # 出力: [10, 20, 30]
# 合計を計算
total = sum(numbers)
print(f"合計: {total}") # 出力: 合計: 60
# 小数を含む文字列の処理(floatに変換してからintに変換)
price_str = "19.99"
price = int(float(price_str))
print(f"価格(整数化): {price} 元") # 出力: 価格(整数化): 19 元
実行結果の想定:
商品价格: 100 元 [10, 20, 30] 总和: 60 价格(取整): 19 元
この例では、int()実際のアプリケーションにおける int() の一般的な使い方を示しています。ユーザー入力の処理やデータの一括変換などです。
その他の拡張