カテゴリ: Python 更新日: 2026/01/16

Pythonのクラスとは?基本の定義とインスタンスの作り方を初心者向けに徹底解説

Pythonのクラスとは?基本の定義とインスタンスの作り方を解説
Pythonのクラスとは?基本の定義とインスタンスの作り方を解説

先生と生徒の会話形式で理解しよう

生徒

「Pythonの勉強をしていたら『クラス』って言葉が出てきました。でも、何のことか全然わかりません…」

先生

「Pythonのクラスは、現実世界の物をプログラムで表現するための“設計図”のようなものです。」

生徒

「設計図…?パソコンを触ったことがない人でも理解できますか?」

先生

「大丈夫です。身近なたとえを使いながら、クラスとインスタンスの関係を一つずつ説明していきましょう。」

1. Pythonのクラスとは何か?

1. Pythonのクラスとは何か?
1. Pythonのクラスとは何か?

Pythonのクラスとは、オブジェクト指向プログラミングで使われる考え方の一つです。 オブジェクト指向プログラミングとは、現実世界の「物」や「概念」を、そのままプログラムの世界に持ち込む考え方です。

例えば「たい焼き」を想像してください。たい焼きそのものではなく、 「たい焼きを作るための型」があったとします。この型が、Pythonでいうクラスです。

クラスは「どんな特徴を持っているか」「どんな動きができるか」をまとめたものです。 Pythonのクラスを使うことで、プログラムの構造が整理され、読みやすくなります。

2. クラスとインスタンスの違い

2. クラスとインスタンスの違い
2. クラスとインスタンスの違い

クラスと一緒によく出てくる言葉にインスタンスがあります。 インスタンスとは、クラスという設計図から実際に作られた「実物」のことです。

たい焼きの例で言うと、クラスはたい焼きの型、インスタンスは実際に焼き上がったたい焼きです。 同じ型から、あんこたい焼きやクリームたい焼きなど、複数のたい焼きを作れます。

Pythonでは、クラスからインスタンスを作ることで、同じ仕組みを持つオブジェクトを何個も使えます。

3. Pythonでクラスを定義する基本構文

3. Pythonでクラスを定義する基本構文
3. Pythonでクラスを定義する基本構文

Pythonでクラスを作るには、classというキーワードを使います。 クラス名は、最初の文字を大文字にするのが一般的なルールです。


class Taiyaki:
    pass

passは「今は何も書かない」という意味です。 まずはクラスの形だけを作りたいときに使われます。

4. インスタンスを作ってみよう

4. インスタンスを作ってみよう
4. インスタンスを作ってみよう

クラスを定義しただけでは、まだ何も動きません。 クラスからインスタンスを作ることで、実際に使えるようになります。


taiyaki1 = Taiyaki()
taiyaki2 = Taiyaki()

このように書くことで、Taiyakiクラスから2つのインスタンスが作られます。 見た目は同じでも、別々のたい焼きとして扱われます。

5. クラスの中にデータを持たせる(属性)

5. クラスの中にデータを持たせる(属性)
5. クラスの中にデータを持たせる(属性)

クラスの中には、データを持たせることができます。 このデータのことを属性と呼びます。

Pythonでは、__init__という特別な関数を使って属性を設定します。 これは「初期化メソッド」と呼ばれ、インスタンスが作られたときに自動で実行されます。


class Taiyaki:
    def __init__(self, flavor):
        self.flavor = flavor

selfは「このインスタンス自身」を表す特別な変数です。 難しく感じるかもしれませんが、「自分自身に情報を持たせるためのもの」と考えてください。

6. 属性を使ってみる

6. 属性を使ってみる
6. 属性を使ってみる

属性を持つクラスからインスタンスを作ると、それぞれに違うデータを持たせられます。


taiyaki1 = Taiyaki("あんこ")
taiyaki2 = Taiyaki("クリーム")

print(taiyaki1.flavor)
print(taiyaki2.flavor)

あんこ
クリーム

同じクラスから作られたインスタンスでも、属性の値が違うことがわかります。 これがクラスとインスタンスの大きな特徴です。

7. クラスを使うメリット

7. クラスを使うメリット
7. クラスを使うメリット

Pythonでクラスを使うと、プログラムを部品ごとに整理できます。 初心者のうちは難しく感じるかもしれませんが、 「同じような処理や情報をまとめられる箱」と考えると理解しやすくなります。

クラスを使わない場合、同じような変数や処理を何度も書くことになります。 クラスを使えば、修正や管理がとても楽になります。

Pythonのオブジェクト指向プログラミングでは、このクラスが中心的な役割を持っています。

関連記事:

関連記事なし

カテゴリの一覧へ
新着記事
New1
Python
Pythonのクラスとは?基本の定義とインスタンスの作り方を初心者向けに徹底解説
New2
Flask
FlaskのSQLAlchemyでフィルタリング検索!filter, filter_byの使い方完全ガイド
New3
Django
Djangoの動的URLの作り方を完全ガイド!初心者でもわかるURLルーティング入門
New4
Flask
Flaskで非同期APIレスポンスを設計する方法を完全解説|初心者向け非同期処理入門
人気記事
No.1
Java&Spring記事人気No1
Python
Pythonの文字列から一部を抽出する方法!スライスを使った基本的な切り出し方
No.2
Java&Spring記事人気No2
Python
Pythonで現在の日付・時刻を取得する方法(datetime.now() / today())
No.3
Java&Spring記事人気No3
Python
Pythonで定数を定義する方法!変更されない変数の書き方と命名ルールを初心者向けに解説
No.4
Java&Spring記事人気No4
Python
Pythonとは何か?初心者向けにできること・特徴・インストール手順までやさしく解説
No.5
Java&Spring記事人気No5
Django
Django settings.py の役割とよく使う設定を完全解説!初心者でもわかる基本と考え方
No.6
Java&Spring記事人気No6
Python
Pythonのリストを分割する方法を完全ガイド!初心者でもわかるスライス・split・itertoolsの使い方
No.7
Java&Spring記事人気No7
Flask
Flask-Loginでユーザー認証を完全ガイド!初心者でもわかるログイン処理の作り方
No.8
Java&Spring記事人気No8
Python
Pythonでリストを文字列に変換する方法を完全ガイド!初心者でもわかるjoinの使い方