Pythonで整数を扱う基本を、実務で使える形で身につける
Pythonを実務で使えるようになるうえで、整数の扱いは最初にしっかり身につけておきたい土台です。整数は、個数を数える、IDを扱う、ループ回数を決める、金額を円単位で管理する、配列の位置を指定する、といった場面で日常的に登場します。見た目は単純でも、実務では「どこまでが整数で、どこからが小数なのか」「計算結果は何型になるのか」「文字列として受け取った数字をどう安全に扱うのか」といった理解が重要です。
この記事では、Python初心者でもつまずきにくいように、整数の考え方から実務での使い方までを順番に説明します。単なる文法の暗記ではなく、「なぜそうなるのか」「どこで使うのか」まで含めて理解できるように、例題、コード例、テンプレートを交えながら進めます。
まず知っておきたい整数とは何か
整数とは、小数点を含まない数のことです。たとえば 0、1、10、-3、1000 は整数です。一方で 3.14 や 0.5 は整数ではなく小数です。
Pythonでは、整数は int という型で扱われます。型とは、データの種類を表すものです。実務ではこの「型」を意識できるかどうかで、エラーの減り方やコードの読みやすさが大きく変わります。
# 整数を変数に代入する例
age = 30
stock = 120
temperature = -5
# 型を確認する
print(type(age)) # <class 'int'>
print(type(stock)) # <class 'int'>
print(type(temperature)) # <class 'int'>Pythonここで大事なのは、Pythonでは見た目が数字でも、実際には別の型になっていることがある点です。たとえば "10" は文字列であり、整数ではありません。この違いを曖昧にしたまま進むと、実務で入力値処理やCSV読込時に必ず困ります。
整数を扱う理由を実務目線で理解する
整数は学習用の簡単な題材ではなく、実務そのものに直結しています。たとえば次のような場面です。
- 商品の在庫数を管理する
- 会員IDや注文番号のような番号を扱う
- 処理回数や試行回数を数える
- ランキング順位を管理する
- 税込価格を円単位で扱う
- 配列やリストの位置番号を指定する
整数を正しく扱えるようになると、単なる計算だけでなく、条件分岐、繰り返し、データ処理の理解も一気に進みます。つまり整数は、Python全体の理解を支える中核です。
整数を変数に入れて使う
Pythonでは、数をそのまま書くこともできますが、実務ではほとんどの場合、変数に入れて使います。変数は、値に名前をつけて再利用しやすくする仕組みです。
# 商品の価格と購入数を整数で管理する
price = 1200 # 1個あたりの価格(円)
quantity = 3 # 購入数
# 合計金額を計算する
total = price * quantity
print(total) # 3600Pythonこの例は非常に基本的ですが、実務ではこの考え方がそのまま売上計算、在庫管理、件数集計などに発展します。
変数名は意味が伝わるものにする
初心者のうちは a や x のような短い名前を使いがちですが、実務では避けたほうがよいです。コードは書く時間より読む時間のほうが長いため、何を表しているかが一目で分かる名前にすることが重要です。
# 悪い例:何の値か分かりにくい
a = 500
b = 4
c = a * b
# 良い例:意味が伝わる
unit_price = 500
item_count = 4
subtotal = unit_price * item_countPython大事なのは、「今の自分が分かる名前」ではなく、「後から読む人にも分かる名前」にすることです。これはチーム開発では特に重要です。
整数の基本計算を身につける
整数を扱う第一歩は、四則演算を自然に使えるようになることです。Pythonでは次の演算子を使います。
- `+` 足し算
- `-` 引き算
- `*` 掛け算
- `/` 割り算
- `//` 切り捨て除算
- `%` 余り
- `**` べき乗
足し算、引き算、掛け算
# 基本的な整数計算
a = 10
b = 3
print(a + b) # 13
print(a - b) # 7
print(a * b) # 30Pythonここは比較的分かりやすい部分ですが、実務で特に注意したいのは割り算です。
割り算は整数にならないことがある
Pythonの / は、整数同士でも結果が小数になります。
# / は小数になる
a = 10
b = 3
result = a / b
print(result) # 3.3333333333333335
print(type(result)) # <class 'float'>Pythonこれは初心者が非常につまずきやすい点です。見た目では「整数を割っているのだから整数っぽい」と感じやすいのですが、Pythonでは / の結果は float になります。
実務では、この違いを理解していないと次のような問題が起こります。
- 件数を計算したつもりが小数になってしまう
- 配列の添字に使えずエラーになる
- 型の違いで比較や表示結果が崩れる
整数として割りたいときは `//` を使う
整数同士の割り算で、小数部分を切り捨てたいときは // を使います。
# // は小数点以下を切り捨てる
a = 10
b = 3
result = a // b
print(result) # 3
print(type(result)) # <class 'int'>Pythonただし、「切り捨てる」という動作を正しく理解して使うことが重要です。たとえば「平均値」や「割合」の計算に // を使ってしまうと、必要な小数部分まで失われます。逆に、箱詰め数やページ数の計算のように、整数で扱いたい場面では役立ちます。
例題:商品を箱に詰める
1箱に6個入るとして、25個の商品は何箱に分けられるかを考えます。
# 1箱に入る個数
items_per_box = 6
# 全体の商品数
total_items = 25
# 完全に埋まる箱の数
full_boxes = total_items // items_per_box
print(full_boxes) # 4Pythonこの結果は「満杯になる箱の数」です。25個すべてを入れるには、実際には余りも考える必要があります。そこで % が登場します。
余りを求める `%` は実務で非常によく使う
# % は余りを求める
a = 10
b = 3
result = a % b
print(result) # 1Python余りは単なる学習用の概念ではありません。実務ではかなり頻繁に使います。
- 偶数か奇数かを判定する
- 一定件数ごとに改行や区切りを入れる
- 何個余るかを計算する
- 一定周期の処理を行う
例題:商品を箱に詰めたときの余りを求める
# 1箱に入る個数
items_per_box = 6
# 全体の商品数
total_items = 25
# 余る個数
remaining_items = total_items % items_per_box
print(remaining_items) # 1Pythonこのように // と % はセットで使うことが多いです。箱詰め、ページ分割、時間変換、IDの分類など、実務的な用途がたくさんあります。
べき乗 “ も覚えておく
# べき乗の例
print(2** 3) # 8
print(5 ** 2) # 25Pythonデータ分析、統計、シミュレーション、暗号関連の基礎学習でも登場するため、意味だけは早めに覚えておくとよいです。
整数と文字列の違いを理解する
実務で初心者が最もよくぶつかる問題の1つが、「数字に見える文字列」を整数だと思い込んでしまうことです。
# 文字列としての数字
text_number = "100"
print(type(text_number)) # <class 'str'>Pythonこの "100" は整数ではありません。見た目は数字でも、コンピュータから見ると文字の並びです。そのため、そのままでは数値計算できません。
# 文字列のままでは数値計算にならない例
a = "100"
b = "20"
print(a + b) # 10020Pythonこれは足し算ではなく、文字列の連結です。初心者にとって非常に重要な注意点です。
文字列を整数に変換する `int()`
数値として使いたい場合は、int() で変換します。
# 文字列を整数に変換する
a = "100"
b = "20"
result = int(a) + int(b)
print(result) # 120Pythonこの変換は、ユーザー入力やCSVファイル読込、APIレスポンス処理などで毎日のように出てきます。実務でPythonを使うなら、int() は必須です。
例題:入力された年齢を整数として扱う
# input() で受け取った値は文字列になる
age_text = input("年齢を入力してください: ")
# 整数に変換する
age = int(age_text)
# 10年後の年齢を計算する
future_age = age + 10
print("10年後の年齢は", future_age, "歳です。")Python`int()` で変換できない値に注意する
ここは実務で特に深掘りして理解すべき大事なポイントです。int() は、何でも変換できるわけではありません。
# 変換できない文字列の例
text = "abc"
# これはエラーになる
# number = int(text)Pythonまた、小数の文字列もそのままでは整数にできません。
# 小数字符列はそのまま int() に渡すとエラー
text = "3.14"
# これはエラーになる
# number = int(text)Pythonもし "3.14" のような値を扱うなら、まず float() で小数に変換し、その後に必要に応じて整数化する流れになります。
# 小数字符列を一度 float に変換してから int にする
text = "3.14"
number = int(float(text))
print(number) # 3Pythonただし、この場合は小数部分が切り捨てられます。ここを理解せずに使うと、金額や数量の計算で不具合につながることがあります。実務では「なぜ整数化してよいのか」を必ず確認するべきです。
整数に関する実務で重要な注意点
整数は簡単そうに見えて、実務では落とし穴があります。ここでは特に重要なものをまとめて説明します。
注意点1:割り算の結果の型を意識する
先ほど触れたように、/ は float を返します。これを知らないと、「なぜ整数として使えないのか」が分からなくなります。
# 割り算の結果は float
count = 9
group = 2
result = count / group
print(result) # 4.5
print(type(result)) # <class 'float'>Python配列の添字や range() の回数に使うなら、整数である必要があります。
# range() には整数が必要
count = 10
step = 2
loop_count = count // step # 整数にする
for i in range(loop_count):
print(i)Python注意点2:先頭に0をつけた整数は書けない
Pythonでは、0123 のような書き方は通常の整数リテラルとして使えません。
# これはエラーになる例
# code = 0123Python郵便番号、社員番号、会員番号のように先頭の0が意味を持つデータは、整数ではなく文字列として扱うべきです。
# 先頭の0が必要な番号は文字列で扱う
postal_code = "012-3456"
member_code = "00123"Pythonこれは実務で非常に大切です。番号だからといって何でも整数にしてはいけません。「計算する値」なのか、「表示・識別のための文字列」なのかを区別する必要があります。
注意点3:金額を安易に小数で扱わない
日本円のように基本的に整数で扱える金額は、整数で扱うほうが安全な場面が多いです。
# 円単位の金額を整数で扱う
unit_price = 980
quantity = 3
shipping_fee = 500
total_price = unit_price * quantity + shipping_fee
print(total_price) # 3440Python一方で、消費税計算や外貨、小数点を含む単価では慎重さが必要です。単純に float を使うと誤差が出ることがあります。初心者段階ではまず「整数で扱えるものは整数で扱う」という意識を持つとよいです。
注意点4:ユーザー入力は必ず検証する
入力値は常に正しいとは限りません。ユーザーが数字ではない値を入れることもあります。そのまま int() に通すとエラーになります。
# 例外処理つきで安全に整数へ変換する
user_input = input("購入数を入力してください: ")
try:
quantity = int(user_input)
print("購入数は", quantity, "です。")
except ValueError:
print("整数を入力してください。")Pythonこの考え方はセキュリティや堅牢性の観点でも重要です。入力値を無条件に信じないことは、実務で安全なプログラムを書く基本姿勢です。
整数を使ったよくある処理パターン
ここからは、実務に近い形で整数をどう使うかを見ていきます。パターンとして覚えると応用しやすくなります。
パターン1:カウンターとして使う
件数を数える処理です。
# 商品数を数えるカウンター
count = 0
# 商品リスト
items = ["apple", "banana", "orange"]
# 1件ずつ数える
for item in items:
count += 1 # count = count + 1 と同じ
print(item, "を数えました。")
print("合計件数:", count)Pythoncount += 1 は非常によく使います。データ件数、エラー回数、アクセス数、成功回数など、実務では頻出です。
パターン2:偶数・奇数を判定する
# 偶数か奇数かを判定する
number = 7
if number % 2 == 0:
print("偶数です。")
else:
print("奇数です。")Python% 2 は、初心者が最初に覚えるべき実用的な使い方の1つです。入力チェックや条件分岐の練習にも向いています。
パターン3:一定件数ごとに処理する
# 5件ごとに区切りを入れる
for i in range(1, 16):
print("データ", i)
# 5件ごとに区切りを表示
if i % 5 == 0:
print("-----")Python実務ではログ出力、一覧表示、バッチ処理の途中経過表示などで使われます。
パターン4:合計を計算する
# 売上の合計を計算する
sales_list = [1200, 1500, 980, 2000]
total_sales = 0
for sales in sales_list:
total_sales += sales
print("合計売上:", total_sales)Python整数の足し算は基本中の基本ですが、集計処理の原型です。データ処理の世界ではこの形が何度も登場します。
初心者が覚えておきたい演算のテンプレート
実務でよく使う形は、テンプレートとして持っておくと便利です。
テンプレート1:入力された整数で計算する
# 数字を入力して合計を出すテンプレート
num1_text = input("1つ目の整数を入力してください: ")
num2_text = input("2つ目の整数を入力してください: ")
# 文字列を整数に変換する
num1 = int(num1_text)
num2 = int(num2_text)
# 合計を計算する
total = num1 + num2
print("合計は", total, "です。")Pythonテンプレート2:安全に整数へ変換する
# 例外処理つきで整数入力を受け取るテンプレート
user_input = input("整数を入力してください: ")
try:
number = int(user_input)
print("入力された整数は", number, "です。")
except ValueError:
print("整数として変換できない値です。")Pythonテンプレート3:商と余りを同時に使う
# 商と余りを同時に求めるテンプレート
total_items = 25
items_per_box = 6
# 満杯の箱数
full_boxes = total_items // items_per_box
# 余る個数
remaining_items = total_items % items_per_box
print("満杯の箱数:", full_boxes)
print("余る個数:", remaining_items)Pythonこのテンプレートは、配送、在庫、ページング、時間換算など幅広く使えます。
実務を意識した例題で理解を固める
ここでは、初心者でもイメージしやすく、実務にもつながる例題を扱います。
例題1:在庫の残り数を計算する
商品が100個あり、今日23個売れたとします。残り在庫を計算します。
# 初期在庫
stock = 100
# 売れた数
sold_quantity = 23
# 残り在庫を計算する
remaining_stock = stock - sold_quantity
print("残り在庫は", remaining_stock, "個です。")Pythonここで重要なのは、在庫は小数ではなく整数で扱うのが自然だという点です。現実の業務データと結びつけて考えると、整数の意味が分かりやすくなります。
例題2:会員ポイントの合計を計算する
# 現在のポイント
current_point = 1200
# 今回付与されるポイント
added_point = 180
# 合計ポイント
total_point = current_point + added_point
print("合計ポイントは", total_point, "ポイントです。")Pythonポイント、回数、件数などは整数との相性がよい代表例です。
例題3:1ページあたりの表示件数から総ページ数を考える
1ページに10件表示し、全部で95件のデータがあるとします。このとき、何ページ必要かを考えます。
# 総データ件数
total_records = 95
# 1ページに表示する件数
per_page = 10
# 満杯ページ数
full_pages = total_records // per_page
# 余り件数
remaining_records = total_records % per_page
# 総ページ数を求める
if remaining_records == 0:
total_pages = full_pages
else:
total_pages = full_pages + 1
print("必要なページ数は", total_pages, "ページです。")PythonこれはWebアプリや業務システムで非常によく出る考え方です。単なる算数に見えて、実務では重要なロジックです。
初心者がつまずきやすいポイントを深掘りする
整数の学習で特に混乱しやすい部分を、ここで改めて整理します。
数字に見えても文字列のことがある
これは本当に重要です。フォーム入力、CSV、Excelデータ、APIレスポンスでは、数字に見える値が文字列で渡ってくることが珍しくありません。そのため、見た目ではなく「型」を確認する習慣が大切です。
# 型を確認する習慣をつける
value = "50"
print(value) # 50
print(type(value)) # <class 'str'>Python見た目だけで判断しないことは、バグを減らすうえで非常に効果的です。
整数にすべきものと、文字列のままにすべきものを区別する
ここは実務的に非常に大事です。たとえば次のように考えます。
- 年齢、件数、個数、在庫数、金額の円単位は整数に向いています
- 郵便番号、電話番号、社員番号、会員コードは文字列に向いています
番号のように見えても、「計算するもの」ではなく「識別するもの」であれば文字列として扱うべきです。これを誤ると、先頭の0が消える、桁数が変わる、表示が壊れる、といった不具合につながります。
エラーを怖がるのではなく、原因を分解して考える
整数まわりのエラーでは、たとえば次のようなものが出ます。
- `ValueError`:文字列を整数に変換できない
- `TypeError`:整数と文字列をそのまま計算しようとした
こうしたエラーが出たときは、まず次を確認すると原因を特定しやすいです。
- その値の中身は何か
- その値の型は何か
- どこで文字列のままになったか
- 整数に変換してよい値か
この確認手順を持っているだけで、初心者から一歩抜け出せます。
実務で使えるようになるための学習ステップ
整数の知識を「知っている」だけでは、実務ではまだ足りません。使えるようになるには、次の順番で練習するのがおすすめです。
ステップ1:基本演算を手で試す
まずは +、-、*、/、//、% を自分で何度か動かします。数字を変えながら、結果の違いを確かめることが大切です。
ステップ2:変数を使って意味のある計算をする
価格、個数、在庫、件数など、現実にありそうな名前の変数で計算します。抽象的な a、b より、業務イメージのある名前のほうが理解が定着しやすいです。
ステップ3:文字列から整数への変換を練習する
input() を使って値を受け取り、int() で変換する練習をします。ここで型の違いを体感しておくと、後のデータ処理がかなり楽になります。
ステップ4:余りと切り捨てを使う問題に慣れる
箱詰め、ページ分割、偶数奇数判定などは、// と % の理解に最適です。この2つは実務で本当によく使います。
ステップ5:入力エラーへの対処を覚える
try と except を使って、不正な入力にも対応できるようにします。実務では正常系だけでなく異常系への備えが重要です。
そのまま使いやすい練習用コード集
最後に、学習と実務の橋渡しになる練習コードをまとめます。WordPressに貼りやすいよう、そのまま使える形で掲載します。
練習コード1:整数の基本演算を確認する
# 2つの整数を用意する
a = 15
b = 4
# 各種演算の結果を表示する
print("足し算:", a + b) # 19
print("引き算:", a - b) # 11
print("掛け算:", a * b) # 60
print("割り算:", a / b) # 3.75
print("切り捨て除算:", a // b) # 3
print("余り:", a % b) # 3
print("べき乗:", a ** b) # 50625Python練習コード2:入力値を整数として扱う
# ユーザーから2つの整数を受け取る
num1_text = input("1つ目の整数を入力してください: ")
num2_text = input("2つ目の整数を入力してください: ")
# 文字列を整数に変換する
num1 = int(num1_text)
num2 = int(num2_text)
# 合計と差を計算する
total = num1 + num2
difference = num1 - num2
# 結果を表示する
print("合計は", total, "です。")
print("差は", difference, "です。")Python練習コード3:偶数か奇数かを判定する
# 判定したい整数
number = int(input("整数を入力してください: "))
# 余りを使って偶数・奇数を判定する
if number % 2 == 0:
print("偶数です。")
else:
print("奇数です。")Python練習コード4:安全に整数入力を受け取る
# ユーザー入力を受け取る
user_input = input("購入数を入力してください: ")
try:
# 整数に変換する
quantity = int(user_input)
# 整数として処理する
print("購入数は", quantity, "です。")
except ValueError:
# 整数に変換できなかった場合の処理
print("エラー: 整数を入力してください。")Pythonまとめ
整数は、Pythonの最初の学習項目であると同時に、実務で長く使い続ける重要な基礎でもあります。足し算や引き算ができるだけでは不十分で、型の違い、割り算の結果、文字列からの変換、余りの活用、入力値の検証まで理解しておくことが大切です。
特に重要なのは、次の点です。
- 整数は `int` 型であることを意識することです
- `/` は小数になり、`//` は切り捨てになることです
- 数字に見える文字列は整数ではないことです
- `int()` で変換できる場合とできない場合があることです
- 先頭の0を持つ番号は文字列として扱うべきことです
- 入力値をそのまま信じず、検証する姿勢が重要であることです
整数をしっかり理解すると、条件分岐、繰り返し、リスト処理、ファイル処理、Webアプリ開発へと自然につなげやすくなります。基礎だからこそ、曖昧にせず、手を動かしながら確実に身につけることが大切です。
次に学ぶなら、比較演算子、条件分岐、繰り返し処理、リストの添字といったテーマに進むと、整数の知識をすぐ実践で生かしやすくなります。必要であれば続けて、「小数を扱う」「割合を計算する」「実務でよく使う入力チェック」までつながる形でも整理できます。

