見出し画像

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'の抜け漏れに注意してください。

生徒クラスを作ったら学級や学校クラスも作ってつなぎ合わせたいです。



この記事が気に入ったらサポートをしてみませんか?