Pythonでは、クラスはデータと機能を組み合わせる方法を提供します。新規にクラスを作成することで、新しいオブジェクトの型を作成し、その型を持つ新しいインスタンスが作れます。
クラスの生成
Pythonでは、クラスのインスタンスを生成するためには、クラス名の後に括弧 ()
を付けて関数を呼び出すときと同じように記述します。
class MyClass:
def set_value(self, text): # クラス内の value 変数に値を代入するメソッド
self.value = text
def print_value(self): # 変数 value の値を表示するメソッド
print(self.value)
a = MyClass() # MyClass のインスタンスを生成
a.set_value("abc") # 変数 value に文字列 "abc" を代入
a.print_value() # abc
上の例では、MyClass()
を実行することによりインスタンスを生成しています。生成されたインスタンスは変数 a
に代入され、変数 a
を用いて、インスタンスのメソッド set_value
と print_value
を使用しています。
クラスの初期化
Pythonでは、初期化メソッド __init__()
を使用することで、インスタンス生成時に初期化処理を記述することができます。__init__()
はインスタンス生成時に自動的に呼ばれます。
class MyClass:
def __init__(self, text): # インスタンス生成時に自動的に呼ばれるメソッド
self.value = text
def print_value(self): # 変数 value の値を表示するメソッド
print(self.value)
a = MyClass("abc") # MyClass のインスタンスを生成
a.print_value() # abc
上の例では、MyClass("abc")
でインスタンスを生成しています。このとき __init__()
自動的に実行されます。インスタンス生成時に指定した引数 "abc"
は __init__()
の2番目の引数 text
に代入されます。
まとめ
Pythonにおけるクラスの生成方法と初期化方法について説明しました。インスタンスの初期化はプログラムを簡潔に記述でき、変数の値の代入忘れによるエラーの防止に役立つので、ぜひ活用してみてください。.