![見出し画像](https://assets.st-note.com/production/uploads/images/29387632/rectangle_large_type_2_4e5bebf0efda65334632be4a4f1b2776.jpeg?width=1200)
Photo by
voice_watanabe
Pythonでコンストラクタとインスタンス
Pythonでコンストラクタからインスタンスを生成してみます。
class Main: #クラス
def __init__(self, data1, data2): #コンストラクタ
self.data1 = data1
self.data2 = data2
instanceTest = Main(100, 200) #インスタンス生成
上記では、Mainクラスの中にコンストラクタとメソッドを書きました。
用語の説明をします。
クラス:数値などのデータと計算のアルゴリズムをひとまとめにしたもの
コンストラクタ:クラスに入れるデータを指定してインスタンスを初期化するもの
インスタンス:コンストラクタによってデータを入れられたクラスのコピー
実際に使ってみる
class Student:
def __init__(self, name, age, className):
self.name = name
self.age = age
self.className = className
def greet(self):
print("Hello, my name is " + self.name + ", and I'm " + str(self.age) + " years olds. I'm belonging to " + str(self.className) + '.')
pushiyomi = Student("Pushiyomi", 23, "classA")
pushiyomi.greet()
生徒クラスを作ってみました。
そこにインスタンスとしてぷしよみくんを作りました。
最後は彼の挨拶メソッドを読み出しています。
実行結果は、
Hello, my name is Pushiyomi, and I'm 23 years olds. I'm belonging to classA.
となりました。
まとめと考察
Pythonのコンストラクタでは'self'の使い方がとても大切になるのでうまくいかないときは'self'の抜け漏れに注意してください。
生徒クラスを作ったら学級や学校クラスも作ってつなぎ合わせたいです。