Python コンストラクタのサンプル

目次

(確認環境:Python 3)

コンストラクタ

def __init__(引数):
   処理
  • コンストラクタは、__init__メソッドを指定します。
  • クラスをインスタンス化する時に実行されます。
  • 初期値を設定するときなどに使用されます。

コンストラクタのサンプルです。

class Color:
    def __init__(self, name):
        self.colorName = name

c1 = Color("赤")
print(c1.colorName)  # 赤

2,3行目は、コンストラクタです。メソッド名を__init__にします。
5行目は、Colorクラスをインスタンス化しています。その時に引数の値がコンストラクタに渡されます。

親クラスのコンストラクタを実行する

親クラスのコンストラクタを使用する時は、superを使います。

class Color1:
    def __init__(self, name):
        self.colorName = name

class Color2(Color1):
    def __init__(self, name):
        super().__init__(name)

c1 = Color2("赤")
print(c1.colorName)  # 赤

7行目のsuperは、親クラスの4行目のコンストラクタを実行します。

デストラクタ

def __del__(引数):
   処理

デストラクタはインスタンスが削除されるときに実行されます。

class Color1:
    def __init__(self):
        print('開始')

    def __del__(self):
        print('終了')

c1 = Color1()  # 開始
del c1  # 終了

2行目は、コンストラクタです。
5行目は、デストラクタです。
9行目は、インスタンスを削除しています。終了の文言が表示されます。

関連の記事

Python クラスの仕組みとサンプル
Python クラスの継承の仕組みとサンプル

△上に戻る