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

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

確認環境
・Python 3

目次

サンプル コンストラクタ
  親クラスのコンストラクタを実行する
  デストラクタ

コンストラクタ

def __init__(引数):
   処理
  • コンストラクタは、__init__メソッドを指定します。
  • クラスをインスタンス化する時に実行されます。
  • 初期値を設定するときなどに使用されます。
  • 以下は、Pythonの公式ドキュメントのクラスのリンクです。
    https://docs.python.org/ja/3/tutorial/classes.html

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

# coding: utf-8

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

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

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

 

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

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

# coding: utf-8

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

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

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

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

 

デストラクタ

def __del__(引数):
   処理

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

# coding: utf-8

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

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

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

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

関連の記事

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

△上に戻る