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