Python __init__ コンストラクタ
コンストラクタ
コンストラクタは、インスタンスを作成したときに実行されるメソッド。
実際にインスタンスを作成したときに、その内容が実施されているかどうかを確かめてみる。
#main_1-1.py class Parent(): def __init__(self): print("こっちはインスタンスのprint") def PrintInfo(self): print("こっちはPrintInfoメソッド,print") TEST = Parent() TEST.PrintInfo() ''' [実行結果] こっちはインスタンスのprint こっちはPrintInfoメソッド,print '''
説明
インスタンスの作成文以外には
TEST.PrintInfo()
の1行しかない。
しかし、出力として
「こっちはインスタンスのprint」
「こっちはPrintInfoメソッド,print」
という具合に2行出力されている。
「こっちはインスタンスのprint」が出力されるのは、インスタンス作成時に
"__init__"がコンストラクタとして動作し、def内のprintが実行されているためである。
このようにコンストラクタはインスタンス作成時に動作する。
このコンストラクタを使って、インスタンスを作成したとき、そのインスタンスの初期値(引数)を設定する。
#main_1-2 class Parent(): def __init__(self,txt1): self.txt1 = txt1 print(str(txt1)) TEST = Parent("コンストラクタ!") ''' [実行結果] コンストラクタ! '''