一年目エンジニア

n年目です。

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("コンストラクタ!")	

'''
[実行結果]
コンストラクタ!
'''

入門 Python 3