【Python】intとは?数値型の基本と使い方を初心者向けにわかりやすく解説

はじめに

Pythonで数値を扱う際、まず意識することになるのがint型です。 多くのプログラムで整数を取り扱う場面は非常に多く、たとえば在庫数や金額計算、カウントアップなどがそれにあたります。 int型の仕組みを理解しておくと、何気なく書いているコードの可読性や安全性を高めやすいでしょう。

しかし、これからプログラミングを始める方にとっては、数値型といっても漠然としていて何をどう学べばいいのか戸惑うことがあるかもしれません。 そこでこの記事では、int型の基本的な役割から代入方法、演算子との組み合わせ方、さらには大規模な開発を見据えた注意点までを丁寧に解説します。

実務に近いイメージを持てるよう、在庫管理や金額計算といったシーンを例に挙げながら進めていきます。 初心者の方も安心して読み進められる内容になっていますので、ぜひ気軽に取り組んでみてください。

この記事を読むとわかること

  • Pythonのint型がどのように役立つか理解できる
  • 四則演算や複合代入演算子との組み合わせ方がわかる
  • if文やループといった基本構文でのint型の利用方法を把握できる
  • int型とfloat型、文字列(str)との型変換について学べる
  • 実務の中でint型をうまく使うためのポイントを具体的な事例で確認できる

Pythonにおけるint型とは

Pythonでは整数を表すときにint型が使われます。 たとえば「1」や「100」など、少数点を含まない数値を想像するとわかりやすいでしょう。

int型の基本的な役割

int型は、小数点のない数値を扱うための型です。 「整数」はあらゆる計算や論理の基礎となり、プログラム全体を通して頻繁に登場します。 たとえば入力された商品の数やユーザー数を管理するときなど、自然とint型を使うことになるでしょう。

Pythonでは整数の範囲に制限がほぼありません。 他の一部のプログラミング言語では桁数による上限が厳密に決まっている場合もあるのですが、Pythonのint型は大きな値もそのまま扱うことができます。 実際のビジネスでも、総在庫数が何億単位になるケースや大きな金額を扱うケースなどがあるため、上限をあまり気にしなくて良い点は便利です。

なぜint型が重要なのか

int型は数値を扱ううえでの土台です。 たとえば金額を計算したり、配列の要素数を追跡したり、あるいはループの回数を制御したりといった日常的な操作で、int型は欠かせません。 プログラムにおいて整数を扱えないと、ものを数えるような機能すらままならないでしょう。

また、コードを安全に保つうえでも、整数型をきちんと管理しておくことは大切です。 本来は整数で処理すべき値なのに、別の型が混ざってエラーを引き起こしてしまう例はよくあります。 そのため、小さいうちからint型の特徴や扱い方を把握し、型に対する意識を持つことが習慣づけられるとよいでしょう。

int型の宣言と代入

Pythonでは変数を宣言するときに「型」を明示的に書く必要はありません。 そのため、x = 5 のように書くだけで自動的にint型の変数が作られます。 ただ、暗黙的に型が決まっているだけであって、仕組みとしてはint型のオブジェクトがひも付いていると考えると理解しやすいです。

変数の初期化

たとえば変数を新しく用意して整数を代入するときは、以下のように書きます。

count = 10
items_in_stock = 350
score = 0

一見すると単純ですが、この書き方の中で自然にint型が使われているわけです。 この状態でcountitems_in_stockの型を確認してみると、Pythonからはint型であると認識されます。

実際のアプリケーション開発では、上記のように初期値を設定しておき、あとから計算によって値を変更していくケースが多いでしょう。

計算結果の代入

変数に計算結果を代入するときもint型が登場します。 たとえば2つの整数を足して、新たな変数に結果を入れる例を見てみましょう。

apple_count = 5
banana_count = 3
total_fruits = apple_count + banana_count

上記の場合、apple_countbanana_countはともにint型です。 加算結果であるtotal_fruitsもint型になります。

現実のシステムでは、売上の合計数や、投票数の合計などを求める処理において同じような構造がよく見られます。 こうした基本操作でもint型が欠かせないことを押さえておくとよいでしょう。

さまざまな演算とint型

整数型を扱うときに、プログラマがよく使うのが四則演算と複合代入演算子です。 ここをしっかり理解しておくと、値の操作で困る場面が少なくなるでしょう。

四則演算

Pythonには足し算、引き算、掛け算、割り算といった四則演算が用意されています。 それらは基本的にプログラム内でふつうに記述するだけで実行できます。

x = 10
y = 3

addition = x + y        # 足し算 → 13
subtraction = x - y     # 引き算 → 7
multiplication = x * y  # 掛け算 → 30
division = x / y        # 割り算 → 3.3333...

ただし、注意すべき点があります。 割り算の演算子/は結果が少数になり得るため、結果の型はfloatになることが多いです。 整数の割り算を行いたい場合は//(整数除算)を使用すると、結果を強制的に整数として扱うことができます。

integer_division = x // y  # 10 // 3 → 3

このように、四則演算の中で割り算だけはfloatに転じやすいという点が大切です。 金額計算などで整数の範囲だけで処理したい場合には、//を使うのも一つの方法となるでしょう。

複合代入演算子

複合代入演算子は、変数の値を更新するときにコードを簡潔に書くための仕組みです。 足し算であれば+=、引き算であれば-=などが使えます。

likes = 10
likes += 5   # likes = likes + 5 と同じ → 15
likes -= 2   # likes = likes - 2 と同じ → 13

掛け算なら*=、割り算なら/=という形になります。 コードが読みやすくなるうえに、処理内容が直感的に伝わるため、少し慣れてきたら積極的に活用するとよいでしょう。

組み合わせた演算の応用

四則演算や複合代入演算子を組み合わせると、さまざまな場面に対応できます。 たとえば商品の購入個数を差し引く在庫管理を考えてみます。

stock = 100
purchase_amount = 7

stock -= purchase_amount  # 在庫から購入数を引く

このようにstockint型として管理されていれば、購入数を引くだけで残りの在庫数が簡単に算出できます。 実務では複数の商品に対して同様の操作を繰り返すような処理を作ることが多いため、int型を使った演算が頻出するわけです。

if文やループでのint型活用

int型の変数は、条件分岐や繰り返し構文を組み合わせるときにもよく登場します。 具体的には、数値が一定の範囲に収まっているかチェックしたり、ループの回数を指定したりするケースです。

if文での条件分岐

if文を使えば、int型の値が一定の条件を満たすかどうかを確認してコードの流れを制御できます。 たとえば、在庫が0以上かどうか判断する例を見てみましょう。

stock = 15

if stock > 0:
    print("在庫があります")
else:
    print("在庫がありません")

この場合、stockには整数が入っているため、stock > 0という比較が自然に行えます。 在庫管理や得点判定など、さまざまなシーンでif文とint型はよく組み合わせられます。

for文での繰り返し

ループ処理でもint型は大いに活用されます。 for文で回数を指定する方法が分かりやすい例でしょう。

for i in range(5):
    print(i)

ここではrange(5)が0から4までの整数を生成します。 ループごとにiが0,1,2,3,4というint型の値を順次受け取り、printで表示する動きになります。

実務でループを使う場面は多岐にわたります。 データのリストを処理する、指定回数だけ何かを試す、ファイルをまとめて処理するなど、どれもint型とセットで考えられるでしょう。

while文での繰り返し

while文でも、int型を使ってループを管理することがあります。 一定の条件を満たしている間だけ処理を繰り返すため、カウンタとしてint型がよく使われるわけです。

countdown = 5

while countdown > 0:
    print(countdown)
    countdown -= 1

countdownが0より大きい間はカウントを表示し、減らしていく簡単な例です。 int型を使うことで、スムーズに条件判定が書けることが伝わるでしょう。

int型と型変換のポイント

プログラムを書いていると、浮動小数点数(float型)や文字列(str型)とint型を行き来する場面があります。 たとえば、ユーザーから入力されたデータは文字列になっているかもしれませんし、割り算の結果はfloat型になりがちです。 こうしたときに型変換を意識すると、予期しないエラーを防ぎやすくなります。

floatからintへの変換

割り算などによって生まれるfloat値を、あえて整数に丸めたい場合があります。 そのときはint()関数を使うと、float値を整数に変換できます。

x = 10 / 3  # 結果は float
x_int = int(x)  # float → int(小数点以下は切り捨て)

ただし、int()による変換は小数点以下を切り捨てる点に注意してください。 もし四捨五入したいならround()関数との組み合わせなど、別の処理を考える必要があるでしょう。

strからintへの変換

ユーザーが入力した数値が文字列として渡ってきた場合、整数として計算に使うには型変換が必須です。 たとえば入力された値が"42"という文字列なら、int("42")で整数の42に変換できます。

user_input = "42"
value = int(user_input)  # "42" -> 42 (int型に変換)

もし文字列が数値で表せない内容だった場合は、変換時にValueErrorというエラーが起きます。 実務ではユーザーが予期せぬ入力をすることもあるので、例外処理で捕捉するなどの対策も必要になるでしょう。

組み込み関数とint型

int型のまわりには、型を上手に管理しやすくするための組み込み関数がいくつか存在します。 ここでは、よく使われるtype()isinstance()に注目してみましょう。

type()による型確認

type()関数を使えば、変数がどの型なのか簡単にチェックできます。 直感的には「この変数は本当にint型かな?」と疑問をもったときに便利です。

number = 100
print(type(number))  # <class 'int'> と表示される

大規模なプロジェクトだと、チームメンバーが書いたコードが混在していて、引数として渡される変数の型がわからないこともあります。 そのため、デバッグや確認作業の際にtype()を活用するとスムーズに調査できるかもしれません。

isinstance()の活用

isinstance()を使うと、特定の型に属しているかどうかを真偽値で返してくれます。 たとえば、以下のように書いてint型かどうかを判定できます。

x = 10
if isinstance(x, int):
    print("これはint型です")
else:
    print("int型ではありません")

if文や関数内で分岐させるときに、このメソッドが役立つ場面があります。 ユーザーの入力を検証するときなど、型をしっかり見極める必要がある場合に使うことが多いでしょう。

大規模開発でのint型の取り扱い

int型は小規模なサンプルコードだけでなく、大きなプロジェクトでも当然使われます。 ただ、規模が大きくなるほど計算量や扱うデータの範囲が増えるため、それなりに注意が必要です。

処理速度とint型

Pythonは他の言語に比べると、int型の演算が少し遅いと感じることがあるかもしれません。 しかし通常の業務システムでは、そこまで気にしなくても問題が生じるケースは稀でしょう。 もし膨大な回数の整数演算を行う場合は、アルゴリズムを見直したり、一部で別の言語やライブラリを組み合わせるというアプローチも考えられます。

基本的には、Pythonのint型でよほど大きな値を扱わない限り、実用上の速度に支障はないといわれています。 そのため最初のうちは、int型が重くなるほどの大規模処理を想定しなくても、気にしすぎないほうがよいでしょう。

整数の範囲とメモリ管理

Pythonのint型は一般的に上限がないと説明されることが多いです。 これは、ほかの言語では溢れてしまうような非常に大きな数値も問題なく扱えるという特徴を示しています。

ただし、実際にはメモリを無限に使えるわけではありません。 あまりにも大きな整数を長時間保管し続けると、メモリ使用量が増加してしまう点には注意が必要です。 在庫数や金額が一時的に大きくなるのは想定内としても、意図せず巨大な値を生成してしまうバグなどには気をつけましょう。

エラーの対処例

int型を使っているときには、思わぬ形でエラーに遭遇することがあります。 ここでは代表的なエラーを2つ挙げ、それぞれの対処方法に触れてみます。

ZeroDivisionError

割り算の際に0で割ってしまうと、このエラーが起こります。 たとえば以下のようなケースです。

x = 10
y = 0
result = x / y  # ZeroDivisionError

実務でよくあるのは、配列の長さを割り算に使う、もしくはユーザー入力の値が0になっていたなどです。 回避策としては、割り算をする前に「分母が0でないか」を確認する一文を挿入するのが基本といえます。

TypeError

int型と文字列を混在させてしまうと、思わぬTypeErrorが発生することがあります。 たとえば、以下のコードを間違えて書いた場合です。

price = 100
discount = "10"
# 計算しようとするとエラー
total = price - discount  # TypeError: unsupported operand type(s)

ここではdiscountが文字列であるため、整数のpriceと直接演算できません。 型変換をしっかり行うなど、正確な型を把握したうえで処理を記述する必要があります。

int型を使うときの注意点

int型は扱いやすい反面、ほかの型との連携や数値の範囲に関して少し意識しておくべきことがあります。 誤った使い方をすると、コードの可読性や保守性が下がってしまうかもしれません。

データの範囲を把握する

Pythonのint型は基本的に大きな値でも扱えますが、実際のビジネスロジックでは想定する数値の範囲を把握しておくのが大切です。 たとえば発注できる数は何桁ぐらいまでなのか、理論的にあり得る最大値はいくつなのかを決めておくだけで、設計の段階からバグを防げることがあります。

プログラムで扱う範囲がわかっていれば、データベースに格納するときのカラム型との整合性を取るのも簡単になります。 そのため、開発環境だけでなく仕様面でも「ここまでの値しか入らない」と想定を共有しておくことが望ましいでしょう。

整数化のタイミング

float型やstr型からint型へ変換するときは、そのタイミングを慎重に見極める必要があります。 たとえばユーザーが入力した小数を、いきなり切り捨ててしまうのは、ビジネス的に問題があるかもしれません。

また、金額計算で小数点が必要な場合に、誤ってint型へ変換してしまうと、端数が失われるリスクがあります。 実務では「すべて整数で扱っておき、最後にまとめて金額を計算する」といった設計を行うことが多いですが、その設計意図をチームで共有しておくことも重要です。

実務での活用例

int型といっても、実際の現場でどのように使われるかイメージしにくいと思う方がいるかもしれません。 ここからは、業務に近い二つのシーンを例に、int型がどのように利用されるのかを具体的に見ていきます。

在庫管理システムでのint型

在庫管理システムでは、各商品の在庫数がint型で管理されることがほとんどです。 たとえば、購入処理が行われるときに「在庫を指定数だけ差し引く」というロジックが入ります。

def purchase_item(stock, purchase_amount):
    if stock >= purchase_amount:
        stock -= purchase_amount
        return stock
    else:
        # 在庫が足りない場合
        return None

この関数は、在庫数stockと購入数purchase_amountを引数に取り、最終的に残りの在庫数を返します。 ここで使われているstockpurchase_amountはまさにint型で、購入数の検証を行うためにも整数として保持されているわけです。

実務ではこの部分に在庫不足エラーの表示や、配送指示の更新などの処理が加わります。 しかしベースとしては「整数を差し引く」という操作がとてもシンプルな形で行われているので、初心者の方もイメージしやすいかもしれません。

金額計算でのint型

金額計算でもint型が活躍します。 商品価格があらかじめ整数で管理されていれば、数値を単純に足し合わせたり、割り算したりが行いやすいです。

def calculate_total_price(item_prices):
    total = 0
    for price in item_prices:
        total += price
    return total

このコードではitem_pricesというリストの要素を順番に足し合わせ、その合計額をint型として返しています。 クーポン割引や消費税などの処理を入れる際にも、整合性が保ちやすいのがint型の利点です。

一方で、「割引率」や「ポイント」を小数で指定するケースがあるかもしれません。 そのときにはfloat型との混在に気をつけ、必要に応じてint型に変換して扱うなどの配慮が求められます。

金額計算の場合、意図しないタイミングで小数点を丸めてしまうことがあるかもしれません。 最終的にどういう数値が必要なのかを考えて、計算順序や型変換を決めることが重要です。

まとめ

ここまで、Pythonのint型に焦点を当てて基本的な特徴から具体的な使い方、実務での活用例までを広く解説してきました。 何気なく「整数」として数値を扱っているようで、実際にはほかの型との組み合わせや型変換など、意外と細かいポイントがあることがおわかりいただけたのではないでしょうか。

int型は在庫数や金額を扱うほか、繰り返しや条件分岐での回数指定など、あらゆる場面に登場します。 四則演算や複合代入演算子をマスターしておけば、基礎的な操作は一通り網羅できるはずです。

もし大規模開発や細かな金額計算に携わる場合は、巨大な整数を扱う状況やfloatとの混在に留意しましょう。 初心者の方も、まずはサンプルコードを動かしつつint型の振る舞いに慣れていけば、自分のプロジェクトでうまく使いこなせるようになります。

int型は初歩的な存在ではありますが、プログラミングの世界では長く付き合う大切な仲間です。 ぜひこの記事の知識を入り口に、手を動かしながら習得を進めてみてください。

Pythonをマスターしよう

この記事で学んだPythonの知識をさらに伸ばしませんか?
Udemyには、現場ですぐ使えるスキルを身につけられる実践的な講座が揃っています。