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行目は、インスタンスを削除しています。終了の文言が表示されます。
関連の記事