Pythonにおける「整数型」(int)は、プログラミングで最も頻繁に使用されるデータ型の一つです。これは、小数点を持たない数値、すなわち正の整数、負の整数、そしてゼロ(0)を指します。
この記事では、int 型の基本的な使い方、四則演算、および数値を記述する際の注意点について解説します。
整数型(int)の基本的な使い方
変数に整数を代入するだけで、その変数は自動的に int 型として扱われます。
# 正の整数
current_year = 2025
# 負の整数
temperature_delta = -15
# ゼロ
initial_count = 0
# type() 関数でデータ型を確認
print(f"'current_year' の型: {type(current_year)}")
実行結果:
'current_year' の型: <class 'int'>
Pythonの int 型は、理論上、メモリが許す限りいくらでも大きな(または小さな)整数を扱うことができます。
整数型(int)の演算
int 型のデータは、基本的な算術演算子(+, -, *, /, //, %)を使った計算に用いることができます。
base_price = 500
discount = 50
# 加算 (+) と 減算 (-)
final_price = base_price - discount
print(f"最終価格: {final_price}")
# 乗算 (*)
total_cost = final_price * 3
print(f"3個の合計: {total_cost}")
# 除算 (/)
# 注意: 通常の除算 (/) は、結果が整数であっても float (浮動小数点数) 型になります
average = total_cost / 3
print(f"平均 (float): {average} (型: {type(average)})")
# 整数の除算 (//) と 剰余 (%)
# '//' は除算の商(整数部分)を返します
items_per_box = 10
total_items = 125
box_count = total_items // items_per_box
remaining_items = total_items % items_per_box
print(f"箱の数: {box_count} (型: {type(box_count)})")
print(f"余り: {remaining_items}")
実行結果:
最終価格: 450
3個の合計: 1350
平均 (float): 450.0 (型: <class 'float'>)
箱の数: 12 (型: <class 'int'>)
余り: 5
数値リテラルの注意点
プログラムコード中に直接数値を記述する方法(数値リテラル)には、いくつか注意点があります。
1. ゼロから始まる数値(0)
Python 3以降では、0 以外の数値(例: 15)を 0 から書き始める(例: 015)と、構文エラー(SyntaxError)となります。
# 0 以外の数値の先頭に 0 を付けるとエラー
# item_code = 015
# SyntaxError: leading zeros in decimal integer literals are not permitted
これは、古いバージョンのPython(Python 2)や他の言語(C言語など)では、0 から始まる数値が「8進数」を意味していた歴史的経緯によりますが、Python 3では曖-昧-さをなくすために禁止されました。
8進数を明示したい場合は 0o(ゼロ・オー)、16進数は 0x(ゼロ・エックス)を使用します。
# 8進数 (0o)
octal_value = 0o15 # 10進数の 13 (8*1 + 5*1)
# 16進数 (0x)
hex_value = 0x15 # 10進数の 21 (16*1 + 5*1)
2. 大きな数値の桁区切り(_)
非常に桁数が多い数値を記述する際、そのまま書くと読みづらくなります。
120000000
このような場合、アンダースコア _ を桁区切り文字として使用できます。_ はPythonインタプリタによって無視されるため、計算結果には影響しません。
# アンダースコアで桁を区切ると読みやすくなる
population = 120_000_000
budget = 5_500_000_000
print(f"人口: {population}")
print(f"予算: {budget}")
total = population + budget
print(f"合計: {total}")
実行結果:
人口: 120000000
予算: 5500000000
合計: 5620000000
まとめ
- Pythonの
int型は、正、負、ゼロの整数を扱います。 /(除算)は結果がfloatになりますが、//(整数の除算)と%(剰余)はintを返します。015のように、0以外の整数の先頭に0を付けるとSyntaxErrorになります。120_000_000のように_を使うことで、大きな数値の可読性を高めることができます。
