Pythonのクラス(Class)とは?オブジェクト指向の基本をわかりやすく解説!
Pythonのクラス(Class)は、データ(属性)と処理(メソッド)を1つにまとめた設計図のようなものです。
現実世界の「もの」や「概念」をプログラムで表現する際に使われ、オブジェクト指向プログラミングの基礎です。
クラスの基本構文
class クラス名:
def __init__(self, 引数):
self.属性 = 値
def メソッド(self):
処理内容
例:Personクラス
class Person:
def __init__(self, name, age):
self.name = name
self.age = age
def greet(self):
print(f"こんにちは、{self.name}です。年齢は{self.age}歳です。")
インスタンスの生成と使用
p1 = Person("さくら", 20)
p1.greet()
Person
クラスから作られた p1
はインスタンスと呼ばれ、クラスの具体的な実体です。
__init__ メソッド(コンストラクタ)
__init__
は、インスタンスが生成されるときに自動的に実行される初期化メソッドです。
self
はそのインスタンス自身を指します。
インスタンス変数とメソッド
- インスタンス変数:
self.変数名
で定義し、個々のインスタンスごとに異なる値を保持
- インスタンスメソッド:
self
を使って呼び出す、インスタンス固有の処理
クラスを使うメリット
- データと処理をまとめて管理できる
- 再利用性が高まる(複数のインスタンスを生成可能)
- 大規模なプログラムでも構造がわかりやすくなる
クラスの継承(基本)
class Student(Person):
def study(self):
print(f"{self.name}は勉強中です。")
Person
クラスを継承した Student
クラスは、親の属性やメソッドを引き継ぎつつ、独自のメソッドも追加できます。
まとめ
Pythonのクラス(Class)は、データと処理をまとめて表現できる便利な仕組みです。
オブジェクト指向の基本として、現実の事物をプログラム上で再現する際に広く使われます。
まずは簡単なクラスを定義し、__init__
メソッドやインスタンスメソッドの仕組みに慣れていきましょう!